自动化运维神器之saltstack (一)安装部署
2014-10-28 13:26
921 查看
最近搭建了一个5节点的hadoop集群,这个过程中,涉及到各个节点间做ssh等效性、时间同步、服务启动和停止。我的做法是使用SCRT打开5个窗口远程到各个节点,然后在各个窗口中输入同样的命令,启动同样的服务。刚开始还好,到了后面我需要在各个节点上来回的切换用户,然后执行一些命令,然后再切换回root用户做一些授权的操作,尽管使用sudo可以提升普通用户的权限,但是我仍感到无比的麻烦,更重要的是目前是5个节点,如果集群是50个节点甚至是500个节点时,我仍要用这种方法吗?显然是愚蠢的做法!我渴望对着一个黑窗口,噼里啪啦一阵狂敲,所有的节点都嗷嗷叫,为了能够装Bigger,我决定学习一个自动化运维的工具。
纠结:saltstack or puppet
因为听说google内部使用的是puppet,所以刚开始晕着头把puppet搭建起来,尝试学习使用它,无奈一段时间以后,发现自己真是屌丝一枚,无法真正领略puppet的惊艳,更准确的来说,是因为自己内心迫切的想体验使用这样的工具来实现自己的统帅N多节点的快感,因此,放弃使用puppet,改为更为轻量的saltstack,而且配置简单,saltstack的核心功能是:配置管理和远程执行。你可以在master节点上一条命令,然后所有的节点都嘚啵嘚啵的开始执行,更重要的是你可以在master的控制台看到各个节点的返回结果。puppet 10 节点以上开始收费,而saltstack完全免费。学习的过程中,顺便记录下过程,方便自己也服务他人。
好,开始正题,首先看我的环境:
节点操作系统均为centos6.5,使用centos自带网络yum源+epel扩展源
hadoop0.updb.com 192.168.0.100 master
hadoop1.updb.com 192.168.0.101 minion
hadoop2.updb.com 192.168.0.102 minion
hadoop3.updb.com 192.168.0.103 minion
hadoop4.updb.com 192.168.0.104 minion
hadoop5.updb.com 192.168.0.105 minion
1、在master和minion上安装软件
master:
3、启动各minion节点的服务
6、牛刀小试,我想在master上查看所有节点的当前时间,如下
看到这个结果,老脸盛开的像朵菊花,心里那个爽啊!saltstack既然号称神器,当然不可能只会显示时间,接下来,慢慢体会并会持续记录。ok,engoying!
纠结:saltstack or puppet
因为听说google内部使用的是puppet,所以刚开始晕着头把puppet搭建起来,尝试学习使用它,无奈一段时间以后,发现自己真是屌丝一枚,无法真正领略puppet的惊艳,更准确的来说,是因为自己内心迫切的想体验使用这样的工具来实现自己的统帅N多节点的快感,因此,放弃使用puppet,改为更为轻量的saltstack,而且配置简单,saltstack的核心功能是:配置管理和远程执行。你可以在master节点上一条命令,然后所有的节点都嘚啵嘚啵的开始执行,更重要的是你可以在master的控制台看到各个节点的返回结果。puppet 10 节点以上开始收费,而saltstack完全免费。学习的过程中,顺便记录下过程,方便自己也服务他人。
好,开始正题,首先看我的环境:
节点操作系统均为centos6.5,使用centos自带网络yum源+epel扩展源
hadoop0.updb.com 192.168.0.100 master
hadoop1.updb.com 192.168.0.101 minion
hadoop2.updb.com 192.168.0.102 minion
hadoop3.updb.com 192.168.0.103 minion
hadoop4.updb.com 192.168.0.104 minion
hadoop5.updb.com 192.168.0.105 minion
1、在master和minion上安装软件
master:
yum install salt-master -yminion
yum install salt-minion -y2、修改minion的配置文件,让minion能够找到master,每个minion都要修改,以hadoop1为例
vi /etc/salt/minion ## minion配置文件中只修改两行 #master: salt -->改为master: 192.168.0.100 #id: -->改为id: hadoop1需要注意这里的id是给minion起的别名,作为唯一标识,各个minion不能重复
3、启动各minion节点的服务
/etc/init.d/salt-minion start4、启动master节点服务,并通过认证minion keys实现master和minion之间的通信
/etc/init.d/salt-master start使用salt-key -L 列出所以没有认证,认证过,拒绝认证的证书
[root@hadoop0 ~]# salt-key -L Accepted Keys: Unaccepted Keys: hadoop1 hadoop2 hadoop3 hadoop4 hadoop5 Rejected Keys:使用salt-key -A来签名所有状态为Unaccepted的证书
[root@hadoop0 ~]# salt-key -A The following keys are going to be accepted: Unaccepted Keys: hadoop1 hadoop2 hadoop3 hadoop4 hadoop5 Proceed? [n/Y] y Key for minion hadoop1 accepted. Key for minion hadoop2 accepted. Key for minion hadoop3 accepted. Key for minion hadoop4 accepted. Key for minion hadoop5 accepted.验证,发现所有的minion证书已经被master签名
[root@hadoop0 ~]# salt-key -L Accepted Keys: hadoop1 hadoop2 hadoop3 hadoop4 hadoop5 Unaccepted Keys: Rejected Keys:5、测试通信是否正常
[root@hadoop0 ~]# salt '*' test.ping hadoop4: True hadoop3: True hadoop2: True hadoop5: True hadoop1: True返回结果全为True,通信功能正常。
6、牛刀小试,我想在master上查看所有节点的当前时间,如下
[root@hadoop0 ~]# salt '*' cmd.run "date" hadoop1: Sun Oct 26 16:16:09 CST 2014 hadoop3: Sun Oct 26 08:16:08 GMT 2014 hadoop5: Sun Oct 26 08:16:09 GMT 2014 hadoop4: Sun Oct 26 08:16:09 GMT 2014 hadoop2: Sun Oct 26 08:16:08 GMT 2014
看到这个结果,老脸盛开的像朵菊花,心里那个爽啊!saltstack既然号称神器,当然不可能只会显示时间,接下来,慢慢体会并会持续记录。ok,engoying!
相关文章推荐
- 自动化运维神器之saltstack (五)salt-ssh的应用场景
- 运维自动化之:Saltstack配置管理工具安装配置使用攻略
- 运维工具SaltStack之一安装部署
- 自动化运维神器之saltstack (三)节点组及复合匹配器
- saltstack 自动化运维神器(四)salt-ssh
- 自动化运维三贱客之 SaltStack 安装
- saltstack 自动化运维神器(一)初识
- SaltStack (1)运维自动化部署
- saltstack 自动化运维神器(三)节点组及复合匹配器
- 自动化运维神器之saltstack (四)用户管理
- 自动化运维神器之saltstack (二)文件服务器 推荐
- 自动化运维之 部署Saltstack 并批量部署 Nginx
- 自动化运维之saltstack(一)安装及常用方法
- saltstack运维自动化的安装与简单配置(一)
- 自动化运维工具之SaltStack-1、SaltStack介绍及安装
- SaltStack自动化运维工具
- 自动化运维工具Saltstack详细介绍
- 运维自动化Saltstack之批量替换字符串
- 容易的linux自动化运维工具之安装部署和应用实例(四)
- 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy1.0