环境:3台主机,

IP分别为10.211.55.11、12、13

puppet master安装在10.211.55.11

puppet agent安装在10.211.55.11、12、13

1、安装EPEL库 后面安装puppet Dashboard需要

yum install yum-priorities
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm —import https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6

其中源可以替换为国内镜像

http://mirrors.ustc.edu.cn/fedora/epel/epel-release-latest-6.noarch.rpm
http://mirrors.ustc.edu.cn/fedora/epel/RPM-GPG-KEY-EPEL-6

修改/etc/yum.repos.d/epel.repo文件

在[epel]最后添加一条属性

priority=11

意思是yum先去官方源查,官方没有再去epel的源找

2、在10.211.55.11上安装dnsmasq域名解析服务

yum install dnsmasq
chkconfig dnsmasq on
service dnsmasq start
lokkit -p 53:udp(打开iptables 53端口)
echo "10.211.55.11 node01.myhost.com" >> /etc/hosts

修改dnsmasq.conf

interface=eth0
listen-address=10.211.55.11
bind-interfaces
resolv-file=/etc/resolv.conf
addn-hosts=/etc/hosts

三台主机上分别输入

echo “nameserver 10.211.55.11” >> /etc/resolv.conf

改主机名

vi /etc/sysconfig/network
分别改为node01.myhost.com、node02.myhost.com、node03.myhost.com

验证DNS是否成功

netstat -tunlp|grep 53
dig node02.myhost.com

3、在10.211.55.11安装时间同步服务器

yum install ntp
chkconfig ntpd on
service ntpd start

(待完善)

4、安装Puppet

安装官方源

rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm

导入GPG密钥(验证包的完整性)

rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs

安装

yum install puppet-server
service puppetmaster start
service puppet start
chkconfig puppetmaster on
chkconfig puppet on

编辑/etc/puppet/puppet.conf

[agent]
server = node01.myhost.com

自动签名

cat > /etc/puppet/autosign.conf <
*.myhost.com
EOF

测试连接

puppet agent -t

删除证书

find /var/lib/puppet/ssl -name localhost.pem -delete

常用信息

puppet cert list -all(查看所有证书)
cat /etc/sysconfig/puppet(默认配置)
/var/lib/puppet (agent证书位置)
/etc/puppet/puppet.conf (配置文件)
/usr/share/puppet (安装位置)
puppet config print modulepath(查看模块位置)
puppet agent -t --summarize(查看报告)

5、安装Dashboard 安装

yum install -y mysql mysql-devel mysql-server httpd mod_passenger puppet-dashboard

mod_passenger是让apache支持ruby

配置:

/etc/my.cnf,

在[mysqld]字段,增加最后一行

# Allowing 32MB allows an occasional 17MB row with plenty of spare room
max_allowed_packet = 32M
/etc/init.d/mysqld start
chkconfig mysqld on
chkconfig httpd  on
service httpd start
mysqladmin -u root password 'password'

创建一个dashboard数据库

mysql -uroot -ppassword <<EOF
CREATE DATABASE dashboard CHARACTER SET utf8;
CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON dashboard.* TO 'dashboard'@'localhost';
FLUSH PRIVILEGES;
EOF

编辑 /usr/share/puppet-dashboard/config/database.yml

production:
database: dashboard
username: dashboard
password: password
encoding: utf8
adapter: mysql

修改时区 /usr/share/puppet-dashboard/config/environment.rb

#config.time_zone = 'UTC'
config.time_zone = 'Beijing'

初始化数据库

cd /usr/share/puppet-dashboard/
rake RAILS_ENV=production db:migrate

配置Apache

cat > /etc/httpd/conf.d/passenger.conf << EOF
LoadModule passenger_module modules/mod_passenger.so PassengerRoot /usr/share/rubygems/gems/passenger-3.0.17
PassengerRuby /usr/bin/ruby PassengerHighPerformance on
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
PassengerStatThrottleRate 120
RailsAutoDetect On ServerName node01.myhost.com
DocumentRoot "/usr/share/puppet-dashboard/public/"
<Directory "/usr/share/puppet-dashboard/public/">
Options None
AllowOverride AuthConfig
Order allow,deny
allow from all ErrorLog /var/log/httpd/node01.myhost.com_error.log
LogLevel warn
CustomLog /var/log/httpd/node06.chenshake.com_access.log combined
ServerSignature On EOF /etc/init.d/httpd start
chkconfig httpd on
lokkit -p 80:tcp

配置puppet

# puppet.conf (on puppet master)
[master]
reports = store, http
reporturl = http://node06.chenshake.com:80/reports/upload

/etc/init.d/puppetmaster restart

导入报告

cd /usr/share/puppet-dashboard
rake gems:refresh_specs
rake RAILS_ENV=production reports:import Delayed Job Workers
env RAILS_ENV=production /usr/share/puppet-dashboard/script/delayed_job -p dashboard -n 4 -m start
ps -ef|grep delayed_job|grep -v grep
env RAILS_ENV=production /usr/share/puppet-dashboard/script/delayed_job -p dashboard -n 4 -m stop

这个时候你才能在Dashbaord里看到数据

6、安装Foreman (待完善)

参考:

http://www.chenshake.com/puppet-study-notes/

http://acooly.iteye.com/blog/1993484

Puppet3在CentOS6.5集群下的安装的更多相关文章

  1. 用redis实现TOMCAT集群下的session共享

    上篇实现了 LINUX中NGINX反向代理下的TOMCAT集群(http://www.cnblogs.com/yuanjava/p/6850764.html) 这次我们在上篇的基础上实现session ...

  2. redis入门(14)redis集群下的数据分区存储

    redis入门(10)redis集群下的数据分区存储

  3. Java应用集群下的定时任务处理方案(mysql)

    Java应用集群下的定时任务处理方案(mysql)   因为自己有csdn和博客园两个博客, 所以两边都会发一下. csdn地址: http://blog.csdn.net/u012881584/ar ...

  4. Spark Storage(一) 集群下的区块管理

    Storage模块 在Spark中提及最多的是RDD,而RDD所交互的数据是通过Storage来实现和管理 Storage模块整体架构 1. 存储层 在Spark里,单节点的Storage的管理是通过 ...

  5. was集群下基于接口分布式架构和开发经验谈

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/luozhonghua2014/article/details/34084935    某b项目是我首 ...

  6. 集群下使用redis统一session处理

    pom依赖(快照版): <dependency> <groupId>org.springframework.session</groupId> <artifa ...

  7. 如何解决quartz在集群下出现的资源抢夺现象

    Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中.它提供了巨大的灵活性而不牺牲简单性.你能够用它来为执行一个作业而创建简单的或复杂的调度,简单的说就是可以 ...

  8. Redis集群下过期key监听

    1. 前言 在使用redis集群时,发现过期key始终监听不到.网上也没有现成的解决方案.于是想,既然不能监听集群,那我可以建立多个redis连接,分别对每个redis的key过期进行监听.以上做法可 ...

  9. Jenkins集群下的pipeline实战

    关于Jenkins集群 在<快速搭建Jenkins集群>一文中,我们借助docker快速搭建了Jenkins集群,今天就在这个集群环境中创建pipeline任务,体验Jenkins集群下的 ...

随机推荐

  1. TestNG官方文档中文版(3)-testng.xml

    TestNG的官方文档的中文翻译版第3章,原文请见 http://testng.org/doc/documentation-main.html 3 - testng.xml 调用TestNG由几种不同 ...

  2. 一道js面试题

     当然这道面试题并不一定就能在你面试的时候遇到,但是不怕一万就怕万一,会的多一些还是好的. 问:怎么判断一串字符中哪个字符出现的最多,最多几次或者这串字符分别有哪些,每个字符出现了几次.写你请出运算代 ...

  3. C#如何定制Excel界面并实现与数据库交互

    Excel是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理.统计分析和辅助决策操作,广泛地应用于管理.统计财经.金融等众多领域.(另外,Excel还是伦敦一所会展中心的名称)..NET ...

  4. C#如何实现一个简单的流程图设计器

    以前看过不少Window Form开发的流程图设计器,支持节点拖放,非常方便即可设计出很美观的流程图,作为一个程序员,对其内部实现原理一直很好奇,感叹有朝一日自己如果可以开发一款类似的软件那是多么让人 ...

  5. Shepherd – 在应用程序中轻松实现引导功能

    Shepherd 是一个指导用户使用应用程序的 JavaScript 库.它使用 Tether——另一个开源库,实现所有的步骤.Tether 确保你的步骤不会溢出屏幕或被剪裁.你可以很容易地指导用户使 ...

  6. Sortable – 简单灵活的 JavaScript 拖放排序插件

    当需要在网站中添加拖放排序功能的时候,jQuery UI 的排序组件可能是最流行的解决方案.今天给大家介绍另一款简单灵活的 JavaScript 拖放排序插件——Sortable,它使用 HTML5 ...

  7. Onsen UI – 新鲜出炉的 PhoneGap 界面框架

    Onsen UI 是一个基于元素自定义的 HTML5 UI 框架,用于构建你的移动前端.这个一个基于 Web 组件的概念的框架,让构建应用程序变得更加轻松.Onsen UI 专门针对 PhoneGap ...

  8. Javascript的历史

    阅读了JavaScript dom简史,从网上看了下,学问很深啊. 首先简单说下网景公司(Netscape)的发展史:1993年,美国国家超级计算机应用中心(NCSA),发表了一个浏览器,命名为“Mo ...

  9. css3中filter的各种特效

    css3中的filter属性可以说是简单易用且强大,这些效果作用在图片上实现一些特效(也可以作用在vidio上,此处只讨论图片特效). 浏览器兼容性 目前各大浏览器对于css3的兼容已经非常好了,最新 ...

  10. arcgis server 下无法执行复杂的运算符

    1.Open the Administrator Directory and log in as a user with administrative permissions to the site. ...