利用指令碼批量操作Storm集群

2022-09-06 09:39:10 字數 2014 閱讀 8835

假設有4台機,ip及主機名如下:

192.168.100.105 c1

192.168.100.110 c2

192.168.100.115 c3

192.168.100.120 c4

假設storm安裝在/home/目錄下,也就是/home/storm/

* 先登入root賬號再進行以下操作

1.建立指令碼

建立並賦予執行許可權

mk batch-storm.sh

chmod u+x batch-storm.sh

2.編輯指令碼

vim batch-storm.sh

新增以下內容:

#!/bin/bash

usage="

usage: $0 (start|stop)

"if [ $# -lt 1 ]; then

echo

$usage

exit 1fi

action=$1

iparray=(c1 c2 c3 c4)

path="

/home/storm/bin

"echo

"$action storm cluster

"case $action in

"start")

echo

"$action nimbus

"$path/storm nimbus &

sleep

3s

for ip in $

doecho

"ssh to $ip - $action supervisor

"ssh $ip $path/storm supervisor &

sleep

2s

done

echo

"$action ui

"$path/storm ui &;;

"stop")

echo

"$action ui

"ps -ef|grep uiserver|grep -v grep|awk

''|xargs

kill -9

sleep

3s

for ip in $

doecho

"ssh to $ip - $action supervisor"#

ssh $ip ps -ef|grep supervisor|grep -v grep|awk

''|xargs

kill -9

pid=$(ssh $ip ps -ef | grep supervisor | grep -v grep | awk''

)

ssh $ip "

kill -9 $

"sleep

2s

done

echo

"$action nimbus

"ps -ef|grep nimbus|grep -v grep|awk

''|xargs

kill -9

;;esac

exit

0

3.編輯storm檔案

* 該步驟在每台機都要執行

vim /home/storm/bin/storm

新增一行內容:

export j**a_home=/usr/bin/jdk1.8.0

這裡的/usr/bin/jdk1.8.0是j**a安裝目錄,請按實際情況修改。

4.執行指令碼

只需要在其中一台機執行即可

批量啟動:

./batch-storm.sh start

批量停止:

./batch-storm.sh stop

shell指令碼啟動storm 集群

最近因為學習需要,搭建了storm集群,裝了比較舊的版本storm 0.8.1,也安裝了zmq,中間安裝過程之曲折不屬本文範圍,以後再整理。本文先把storm集群啟動的指令碼放出,其中包含了啟動zookeeper。其他集群,spark,hadoop啟動 停止指令碼可參考本指令碼。不完善之處依照具體業...

storm集群啟動停止指令碼

bin bash nimbus節點 nimbusservers mini01 mini02 supervisor節點 supervisorservers mini01 mini02 mini03 啟動所有的nimbus for nim in nimbusservers do ssh t nim cd...

storm集群一鍵啟動關閉shell指令碼檔案

vi start storm cluster.sh 這裡面需要注意的是 hdp 1 hdp 2 hdp 3是我的三颱虛擬機器,如果名字不同需要修改 此指令碼必須放在storm bin方能生效 bin bash nimbus節點 nimbusservers hdp 1 hdp 2 supervisor...