Storm集群启动与停止脚本及其注意事项

前提:集群之间首先要做免密码登陆
集群中主节点启动:nimbus和ui进程
从节点启动:supervisor和logviewer进程

1:启动集群
需要先设置从节点的ip,保存到文件supervisorhost中,一行是一个节点的ip
192.168.1.171
192.168.1.172

在主节点写一个脚本:start-all.sh
#!/bin/bash
    source /etc/profile
    echo "start nimus and ui on localhost ..."
    nohup /usr/local/storm/bin/storm nimbus >/dev/null 2>&1 &
    nohup /usr/local/storm/bin/storm ui >/dev/null 2>&1 &
    cat supervisorhost | while read ip
    do
    echo "start supervisor and logviewer on $ip"
    ssh $ip nohup /usr/local/storm/bin/storm supervisor >/dev/null 2>&1 &
    ssh $ip nohup /usr/local/storm/bin/storm logviewer >/dev/null 2>&1 &
    done

2:停止集群
首先写一个停止从节点supervisor和logviewer进程的脚本stop-supervisor.sh,并且需要把这个脚本拷贝到storm集群的所有从节点

#!/bin/bash
    source /etc/profile
    kill -9 `ps -ef|grep backtype.storm.daemon.supervisor | awk '{print $2}'|head -1` &
    kill -9 `ps -ef|grep backtype.storm.daemon.logviewer | awk '{print $2}'|head -1` &
在主节点上写一个脚本:stop-all.sh
#!/bin/bash
    source /etc/profile
    echo "stop nimus and ui on localhost ..."
    kill -9 `ps -ef|grep backtype.storm.daemon.nimbus | awk '{print $2}'|head -1` >/dev/null 2>&1
    kill -9 `ps -ef|grep backtype.storm.ui.core | awk '{print $2}'|head -1` >/dev/null 2>&1
    cat supervisorhost | while read ip
    do
    echo "stop supervisor and logviewer on $ip"
    ssh $ip /bin/bash /usr/local/storm/bin/stop-supervisor.sh >/dev/null 2>&1 &
    done

3:使用
在主节点上执行start-all.sh即可启动集群所有服务
在主节点上执行stop-all.sh即可停止集群所有服务

4:注意
笔者将apache-storm-0.9.3 改名为storm
所有脚本都放到storm的bin目录下面
集群内的所有storm包都存放在相同路径下
集群中zookeeper节点的时间要保持一致。(ntpdate time.nist.gov)

你可能感兴趣的:(Storm)