如何在 Ubuntu 15.04 中安装 Puppet

2020-01-30 21:36栏目:龙电竞官网
TAG:

图片 1

经典的R图标

大家好,本教程将学习如何在 Ubuntu 15.04 上面安装 Puppet,它可以用来管理你的服务器基础环境。Puppet 是由 Puppet 实验室(Puppet Labs)开发并维护的一款开源的配置管理软件,它能够帮我们自动化供给、配置和管理服务器的基础环境。不管我们管理的是几个服务器还是数以千计的计算机组成的业务报表体系,puppet 都能够使管理员从繁琐的手动配置调整中解放出来,腾出时间和精力去提系统的升整体效率。它能够确保所有自动化流程作业的一致性、可靠性以及稳定性。它让管理员和开发者更紧密的联系在一起,使开发者更容易产出付出设计良好、简洁清晰的代码。puppet 提供了配置管理和数据中心自动化的两个解决方案。这两个解决方案分别是 puppet 开源版puppet 企业版。puppet 开源版以 Apache 2.0 许可证发布,它是一个非常灵活、可定制的解决方案,设置初衷是帮助管理员去完成那些重复性操作工作。pupprt 企业版是一个全平台复杂 IT 环境下的成熟解决方案,它除了拥有开源版本所有优势以外还有移动端 apps、只有商业版才有的加强支持,以及模块化和集成管理等。Puppet 使用 SSL 证书来认证主控服务器与代理节点之间的通信。

生产就绪的开源Puppet 4现在可用了。官方宣布了新的特性与强化功能,将让你体验更快、更一致的服务器配置管理。所增加的功能可以帮助你节省时间,减少错误以及提高可靠性。通过现代化Puppet语言获得更多能力并减少错误在过去的一年里,Puppet就有了新语言的变化,并在社区中能够预览和测试。谢谢您有价值的反馈,Puppet已经完全重新编写解析器和鉴别器,解决了一些问题。简而言之,解析器将不做更改,它基本就是这样,默认情况下可用。同时增强的Puppet语言提供更多的能力和更高的可靠性、更聪明、更紧凑,代码可读性更好。资源安装更新开源Puppet更省时省力由于意识到安装和更新软件可能是乏味和令人沮丧的,通常会涉及到手动的移除文件、潜在的重复……。Puppet的目标是提供一个更加的安装体验,无论你所运行的平台是什么,安装Puppet 4的过程将是一个简单的、流线型的体验。Puppet 4引入了Puppet Collections,一种交付开源Puppet软件的新方式。一个Puppet Collections是一个确保Puppet开源包在相关集合工作中的包存储库。你可以把它想象成一个专为相关Puppet包的Linux分发。查看这些Puppet Collections博客帖子会对你有所帮助,点此进入。拓展:本文中所讲的特性只是Puppet 4的一小部分,想了解更多可查看以下所列举的文档:更多关于新的AIO代理细节RC博客和发布说明。完整的安装说明:安装指南和完整的Puppet 4文档站点Puppet 3.x to 4.x代理和服务升级信息查看Camptocamp关于Puppet 4准备的文章来测试你的代码如果你想尝试Puppet Enterprise,点击此处下载

1.1 简介

维基百科上对于R的总结性描述:

R is an open source programming language and software environment for statistical computing and graphics that is supported by the R Foundation for Statistical Computing.The R language is widely used among statisticians and data miners for developing statistical software and data analysis.
Polls, surveys of data miners, and studies of scholarly literature databases show that R's popularity has increased substantially in recent years.
R is a GNU package.The source code for the R software environment is written primarily in C, Fortran, and R.
R is freely available under the GNU General Public License, and pre-compiled binary versions are provided for various operating systems. While R has a command line interface, there are several graphical front-ends available.

大致翻译一下,不是很严谨(请包涵):

R 是一种开源编程语言和软件环境,用于统计计算和绘图,由R 组织支持。R 语言被数据学家和数据挖掘者广泛的用于开发统计软件和数据分析。有关研究调查显示,R的受欢迎程度近年来持续上升。R是一个GNU 包。R 软件环境的源代码是用C,Fortran,和R写的。R是可以免费获取,在GNU条款下,并且其预编译的二进制版本提供给不同的操作系统。R不仅仅只有命令行交互页面,也有好几种图形化交互可以获得。

总结一下:R,与起源于贝尔实验室的S语言类似,是一种为统计计算和绘图而生的语言和环境,它是一套开源的数据分析解决方案,由一个庞大且活跃的全球性研究型社区维护。
R,有很多有点特性:免费、全面的统计研究平台、拥有顶尖水准的绘图功能、是一个可进行交互式数据分析和搜索的强大平台等等。

本教程将要介绍如何在运行 ubuntu 15.04 的主控服务器和代理节点上面安装开源版的 puppet。在这里,我们用一台服务器做主控服务器(master),管理和控制剩余的当作 puppet 代理节点(agent node)的服务器,这些代理节点将依据主控服务器来进行配置。在 ubuntu 15.04 只需要简单的几步就能安装配置好 puppet,用它来管理我们的服务器基础环境非常的方便。(LCTT 译注:puppet 采用 C/S 架构,所以必须有至少有一台作为服务器,其他作为客户端处理)

1.2 R的获取与安装

在官网:https://cran.r-project.org/可以免费获取各个系统的二进制版本,下载后安装即可。此外,一般我都会使用IDE,确实方便好用,我的系统是Linux-Ubuntu16.04,我可以装可视化的界面,所以也可以考虑从https://www.rstudio.com/下载对应版本的r-studio,具体方法详见:转录组入门(1):计算机及软件安装,里面有关于R安装的代码和R-Studio的代码,windows用户可能不需要代码,因为很简单,跟安装一般的软件一模一样,这里主要是Linux用户。

图片 2

1.3 R的使用

R,是一种区分大小写的解释型语言,可以一次一条命令亦可以一次性执行在脚本文件中的一组命令。
交互期间,所有的数据对象都被保存在内存中。
R语句由函数和赋值构成——赋值符号为<- ,而不是=

例子:x <- rnorm(5);当然,也是允许使用‘=’ 来为对象赋值,但是不较少。并且R语言的赋值符号可以反转:rnorm(5) -> x

 

1.3.1 新手使用指南

在R中输入数据:根据给出的例子,理解R的赋值

#年龄向量数据赋值给age对象,体重向量数据赋值给weight对象
age <- c(1,3,5,2,11,9,3,9,12,3)
weight <- c(4.4,5.3,7.2,5.2,8.5,7.3,6.0,10.4,10.2,6.1)
#函数mean()求体重的平均值
mean(weight)
#函数sd()求体重的标准差
sd(weight)
#函数cor()体重和年龄的相关性
cor(age,weight)
#plot()可视化展示相关性
plot(age,weight)

1.设置主机文件

在本教程里,我们将使用2台运行 ubuntu 15.04 “Vivid Vervet" 的主机,一台作为主控服务器,另一台作为 puppet 的代理节点。下面是我们将用到的服务器的基础信息。

  • puupet 主控服务器 IP:44.55.88.6 ,主机名: puppetmaster
  • puppet 代理节点 IP: 45.55.86.39 ,主机名: puppetnode

我们要在代理节点和服务器这两台机器的 hosts 文件里面都添加上相应的条目,使用 root 或是 sudo 访问权限来编辑 /etc/hosts 文件,命令如下:

  1. #nano/etc/hosts
  2. 45.55.88.6 puppetmaster.example.com puppetmaster
  3. 45.55.86.39 puppetnode.example.com puppetnode

注意,puppet 主控服务器必使用 8140 端口来运行,所以请务必保证开启8140端口。

 

1.3.2 获取帮助

一般通过“?+函数”的来查看某些函数的功能。此外通过help.start()来打开帮助文档的首页。

例如:?plot来查看plot函数的详细帮助文档

help.start()打开的帮助文档的首页

2. 用 NTP 更新时间

puppet 代理节点所使用系统时间必须要准确,这样可以避免代理证书出现问题。如果有时间差异,那么证书将过期失效,所以服务器与代理节点的系统时间必须互相同步。我们使用 NTP(Network Time Protocol(网络时间协议))来同步时间。在服务器与代理节点上面分别运行以下命令来同步时间。

  1. # ntpdate pool.ntp.org
  2. 17Jun00:17:08 ntpdate[882]: adjust time server 66.175.209.17 offset -0.001938 sec

(LCTT 译注:显示类似的输出结果表示运行正常)

如果没有安装 ntp,请使用下面的命令更新你的软件仓库,安装并运行ntp服务

  1. #apt-get update &&sudoapt-get-y install ntp ; service ntp restart

 

1.3.3 R工作空间

即当前R的工作环境,它存储着所有用户定义的对象(向量、矩阵、函数、数据框、列表)。在一个R会话结束时,你可以将当前工作空间保存到镜像中,并在下次启动时自动载入它。
命令可以交互地输入,使用上下方向键查看已输入命令的历史记录,非常的方便。
当前的工作目录是R用来读取文件和保存结果的默认目录,可以用getwd()来查看当前的工作目录,setwd()可以设定当前的工作目录。如果需要调用一个不在工作目录下的文件,则需在调用语句中写明完整的路径。

#设定工作目录
setwd("C:/myprojects/project1") 
#将当前的选项设置情况显示出来
options()
#数字需要格式化,显示为小数点后三位有效数字的格式。
options(digits=3)
#创建一个包含20个平均分布随机变量的向量
x <- runif(20)
#生成了此数据的摘要统计量
summary(x)
#生成直方图
hist(x)
#退出
q()

当要结束R时,如果选择了y,命令的历史记录保存到.Rhistory文件中,工作空间保存到当前目录中的.RData文件中,会话结束,R程序退出。
R语言中,反斜杠表示转义符,所以在写路径是一定要用正斜杠/。

3. 安装主控服务器软件

安装开源版本的 puppet 有很多的方法。在本教程中我们在 puppet 实验室官网下载一个名为 puppetlabs-release 的软件包的软件源,安装后它将为我们在软件源里面添加 puppetmaster-passenger。puppetmaster-passenger 包括带有 apache 的 puppet 主控服务器。我们开始下载这个软件包:

  1. #cd/tmp/
  2. #wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
  3. --2015-06-1700:19:26-- https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
  4. Resolving apt.puppetlabs.com (apt.puppetlabs.com)...192.155.89.90,2600:3c03::f03c:91ff:fedb:6b1d
  5. Connecting to apt.puppetlabs.com (apt.puppetlabs.com)|192.155.89.90|:443... connected.
  6. HTTP request sent, awaiting response...200 OK
  7. Length:7384(7.2K)[application/x-debian-package]
  8. Saving to:‘puppetlabs-release-trusty.deb’
  9. puppetlabs-release-tr100%[===========================>]7.21K--.-KB/s in0.06s
  10. 2015-06-1700:19:26(130 KB/s)-‘puppetlabs-release-trusty.deb’ saved [7384/7384]

下载完成,我们来安装它:

  1. # dpkg -i puppetlabs-release-trusty.deb
  2. Selecting previously unselected package puppetlabs-release.
  3. (Reading database ...85899 files and directories currently installed.)
  4. Preparing to unpack puppetlabs-release-trusty.deb ...
  5. Unpacking puppetlabs-release (1.0-11)...
  6. Setting up puppetlabs-release (1.0-11)...

使用 apt 包管理命令更新一下本地的软件源:

  1. #apt-get update

现在我们就可以安装 puppetmaster-passenger 了

  1. #apt-get install puppetmaster-passenger

提示: 在安装的时候可能会报错:

  1. Warning:Setting templatedir is deprecated.see http://links.puppetlabs.com/env-settings-deprecations (at /usr/lib/ruby/vendor_ruby/puppet/settings.rb:1139:in `issue_deprecation_warning')

不过不用担心,忽略掉它就好,我们只需要在设置配置文件的时候把这一项禁用就行了。

如何来查看 puppet 主控服务器是否已经安装成功了呢?非常简单,只需要使用下面的命令查看它的版本就可以了。

  1. # puppet --version
  2. 3.8.1

现在我们已经安装好了 puppet 主控服务器。因为我们使用的是配合 apache 的 passenger,由 apache 来控制 puppet 主控服务器,当 apache 运行时 puppet 主控服务器才运行。

在开始之前,我们需要通过停止 apache 服务来让 puppet 主控服务器停止运行。

  1. #systemctl stop apache2

 

版权声明:本文由龙竞技官网发布于龙电竞官网,转载请注明出处:如何在 Ubuntu 15.04 中安装 Puppet