Ansible安装storm
#有小伙伴问我怎么直接就从这开始,环境呢,我想说,兄弟,安装ansible、和初始化环境啥的就不用我给你写了吧,用户直接用的root,为了方便(不过生产不能这么搞嗷),免密互信,关防火墙和selinux等自己随便搞搞就好了
注意:启动之前别忘了启动zk
mkdir -p /root/ansible/roles/storm/files
cd /root/ansible/roles/storm/files
#将下载好的Storm包和配置文件上传至此/etc/ansible/roles/storm/files
#配置文件
storm.zookeeper.servers:
- "server01"
- "server02"
- "server03"
storm.zookeeper.port: 2181
nimbus.seeds: ["server01","server02"]
supervisor.slots.ports:
- 6700
- 6701
ui.port: 10080
vim hosts
[storm_servers]
server01
server02
server03
vim storm.yml
- hosts: storm_servers
roles:
- storm
mkdir tasks
vim main.yml
---
- name: copy file and unzip
unarchive: src=storm.tar.gz dest=/root
- name: install config storm
copy: src=storm.yaml dest=/root/apache-storm-1.2.2/conf/storm.yaml
cd ..
mkdir vars
vim main.yml
nimbus_hostname: server01
ansible-playbook -i hosts storm.yml
#浏览器访问localhost:10080,查看管理页面
#所谓的高可用HA配置就是多了一个或几个Nimbus而已,,用几个看自己心情,supervisor本来就是分布式的所以无所谓
#就在配置文件中 如下配置:
storm.zookeeper.servers:
- "server01"
- "server02"
- "server03"
storm.zookeeper.port: 2181
nimbus.seeds: ["server01","server02"]
supervisor.slots.ports:
- 6700
- 6701
ui.port: 10080
---------------------------------------------------------------------------------------------------------------
#安装完成后编辑启停脚本!
vim storm-start.sh
#!/bin/bash
echo "Storm Nimbus is Running"
nohup /root/apache-storm-1.2.2/bin/storm nimbus 1>/dev/null 2>&1 &
sleep 15
echo "Storm Nimbus is Successfully"
for host in server01 server02 server03
do
echo "$host Storm Supervisor is Running"
ssh $host "source /etc/profile;nohup sh /root/apache-storm-1.2.2/bin/storm supervisor 1>/dev/null 2>&1 & "
sleep 10
echo "$host Storm Supervisor is Successfully"
echo "$host Storm Logviewer is Running"
ssh $host "source /etc/profile;nohup sh /root/apache-storm-1.2.2/bin/storm logviewer 1>/dev/null 2>&1 & "
sleep 10
echo "$host Storm Logviewer is Successfully"
done
echo "Storm UI is Running"
nohup /root/apache-storm-1.2.2/bin/storm ui 1>/dev/null 2>&1 &
sleep 15
echo "Storm UI is Successfully"
vim storm-stop.sh
jps | grep nimbus | cut -c 1-5 | xargs kill -s 9
echo "server01 Storm Nimbus is Stopping"
jps | grep core | cut -c 1-5 | xargs kill -s 9
echo "server01 Storm UI is Stopping"
for host in server01 server02 server03
do
ssh $host "source /etc/profile;jps | grep Supervisor | cut -c 1-5 | xargs kill -s 9"
echo "$host Storm Supervisor is Stopping"
ssh $host "source /etc/profile;jps | grep logviewer | cut -c 1-5 | xargs kill -s 9"
echo "$host Storm Logviewer is Stopping"
done
亲测无坑! 下期更新hadoop