最近因為學習需要,搭建了storm集群,裝了比較舊的版本storm-0.8.1,也安裝了zmq,中間安裝過程之曲折不屬本文範圍,以後再整理。本文先把storm集群啟動的指令碼放出,其中包含了啟動zookeeper。其他集群,spark,hadoop啟動、停止指令碼可參考本指令碼。**不完善之處依照具體業務修改。
啟動之前的準備工作:
1)機器配置,ip-機器名 在hosts中配置好
2)配置各節點storm 的storm_home和zookeeper_home
3)各節點ssh免密碼訪問 ok
#!/bin/bash
##準備工作:
#機器配置,ip-機器名 在hosts中配置好
#配置各節點storm 的storm_home和zookeeper_home
#ssh免密碼訪問
##指令碼在主節點下執行
##zk的節點,3臺,不在主節點啟動
zookeeperservers='server58 server60 server62'
#工作節點,不含主節點
supervisorservers='server58 server60 server62'
#nimbus和ui節點
nimbusserver='server76'
#啟動各個zookeeper server
for i in $zookeeperservers;
dossh -t $i <
/dev/null 2>&1 &
python bin/storm supervisor >/dev/null 2>&1 &
python bin/storm ui >/dev/null 2>&1 &
sleep 1
echo 啟動主節點$nimbusserver nimbus...[ done ]
echo 啟動主節點$nimbusserver supervisor...[ done ]
echo 啟動主節點$nimbusserver ui...[ done ]
#啟動其餘所有的supervisor
for j in $supervisorservers;
dossh -t $j <
/dev/null 2>&1 &
eofecho 啟動從節點$j supervisor...[ done ]
sleep 1
done
#檢查nimbus是否啟動
count=`jps |grep nimbus |wc -l`
if [ $count = 0 ]
then
cd $storm_home
python bin/storm nimbus >/dev/null 2>&1 &
fi#檢查ui是否啟動
count=`jps |grep core |wc -l`
if [ $count = 0 ]
then
cd $storm_home
python bin/storm ui >/dev/null 2>&1 &
fi#檢查其餘各個supervisor是否啟動
#如果剛才沒有正常啟動,則啟動
for k in $supervisorservers;
dossh -t $k <
/dev/null 2>&1 &
fieof
done
#檢查主節點supervisor是否啟動
count2=`jps |grep supervisor |wc -l`
if [ $count2 = 0 ]
then
cd $storm_home
python bin/storm supervisor >/dev/null 2>&1 &
fisleep 2
echo storm集群啟動成功....[ done ]
storm啟動指令碼 shell
url 集群啟動指令碼 url bin bash nimbus節點 nimbusservers mini01 mini02 supervisor節點 supervisorservers mini01 mini02 mini03 啟動所有的nimbus for nim in nimbusservers...
storm啟動指令碼 shell
url 集群啟動指令碼 url bin bash nimbus節點 nimbusservers mini01 mini02 supervisor節點 supervisorservers mini01 mini02 mini03 啟動所有的nimbus for nim in nimbusservers...
storm集群一鍵啟動關閉shell指令碼檔案
vi start storm cluster.sh 這裡面需要注意的是 hdp 1 hdp 2 hdp 3是我的三颱虛擬機器,如果名字不同需要修改 此指令碼必須放在storm bin方能生效 bin bash nimbus節點 nimbusservers hdp 1 hdp 2 supervisor...