rpm安装
下载epl源 : Download the latest epel-release rpm from:http://dl.fedoraproject.org/pub/epel/6/x86_64
执行 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
安装epel-release :
# rpm -Uvh epel-release*rpm
安装ansible1.9
# yum install ansible1.9
ansible管理服务器(安装ansible的服务器)必须配置免密码登录其他需要管理的主机
各主机执行ssh-keygen生成私钥和公钥,并把所有主机的公钥追加到authorized_keys中,然后分发到ansible管理服务器
修改个主机的主机名,编辑/etc/hosts文件,把所有主机的ip和主机名写进去
[root@node01 .ssh]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.145.111 node01
172.16.145.112 node02
172.16.145.113 node03
172.16.145.114 node04
172.16.145.115 node05
接下来就可以配置 hosts文件了,
[root@node01 .ssh]# cat /etc/ansible/hosts
[hadoop-all]
node[01:05]
[hadoop-master]
node[04:05]
[hadoop-slave]
node[01:03]
[zookeeper-all]
node[01:03]
[hdfs-nn]
node[04:05]
[hdfs-dn]
node[01:03]
[hdfs-jn]
node[01:02]
[yarn-rm]
node[04:05]
[yarn-nm]
node[01:03]
[hive-all]
node[01:05]
[hive-cli]
node[01:05]
[hive-meta]
node[04:05]
[hive-hs2]
node[04:05]
[impala-all]
node[01:05]
[impala-llama]
node[04:05]
[impala-catalog]
node04
[impala-state]
node04
[impala-impalad]
node[01:03]
执行命令测试ansible能否ping通
[root@node01 .ssh]# ansible all -m ping
node03 | success >> {
"changed": false,
"ping": "pong"
}
node02 | success >> {
"changed": false,
"ping": "pong"
}
node01 | success >> {
"changed": false,
"ping": "pong"
}
node05 | success >> {
"changed": false,
"ping": "pong"
}
node04 | success >> {
"changed": false,
"ping": "pong"
}
执行服务停止重启命令
[root@node01 .ssh]# ansible impala-impalad -m service -a "name=impala-server state=restarted"
node01 | success >> {
"changed": true,
"name": "impala-server",
"state": "started"
}
node03 | success >> {
"changed": true,
"name": "impala-server",
"state": "started"
}
node02 | success >> {
"changed": true,
"name": "impala-server",
"state": "started"
}
ok,大功告成!