停止Hadoop或HBase集羣的腳本

#!/bin/sh
#echo "waring"
#read NAME #等待用戶輸入並把輸入的值付給NAME
NAME=$1 #將腳本第一個參數賦給NAME
#引用變量時加上"{}",是個好習慣,利於shell辨別變量邊界
if [ -z ${NAME} ] ; then #執行腳本沒有輸入參數,默認關閉hadoop
	stop-all.sh
elif [ ${NAME} = "hadoop" ]; then #如果NAME中的值爲"Hadoop",就只關閉Hadoop集羣
	echo "shutdown hadoop cluster"
	stop-all.sh
elif [ ${NAME} = "hbase" ] ; then #停止HBase集羣
	echo "shutdown hbase on hadoop1"
	ssh -t -p 22 hadoop1 "/usr/local/hbase/bin/stop-hbase.sh" #向遠程機器發送命令,停止HBase集羣
	NUM=1
	while [ ${NUM} -lt 4 ]
	do
		echo "shutdown hadoop${NUM}'s zkServer"
		ssh -t -p 22 hadoop${NUM} "/usr/local/zk/bin/zkServer.sh stop" #向遠程機器發送命令,停止HBase集羣后停止ZooKeeper集羣
		NUM=$[${NUM}+1]
	done
	echo "shutdwon hadoop cluster"
	stop-all.sh
else  #參數輸入錯誤,或者大小寫不合適
	echo "error"


fi #結束if命令
腳本簡單的實現了Hadoop集羣和HBase集羣的停止,並沒有在細節和嚴謹性方面做嚴格的修改。只爲了在停止集羣時只需要簡單的一步即可而不需要再每臺機器上操作命令,減少了操作上的麻煩。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章