啓動Hadoop集羣和HBase集羣腳本

#!/bin/sh
#echo "waring"
#read NAME #等待用戶輸入並把輸入的值付給NAME
NAME=$1 #將腳本第一個參數賦給NAME


#引用變量時加上"{}",是個好習慣,利於shell辨別變量邊界
if [  -z ${NAME} ]  ;then #默認如果爲空,hadoop start
	echo "1.start hadoop on ${HOSTNAME}"
	start-all.sh
elif [ "${NAME}" = "hadoop" ];then #如果NAME中的值爲"hadoop",則繼續執行if
	echo "2.start hadoop on ${HOSTNAME}"
	start-all.sh
elif [ "${NAME}" = "hbase" ] ;then #否則就執行else if
	start-all.sh
	#for loop in 1 2 3
	NUM=1
<pre name="code" class="plain">#測試的zookeeper服務器集羣是三個節點

	while [ ${NUM} -lt 4 ]
	do
		echo "start zkServer on hadoop${NUM}"
		ssh -t -p 22 hadoop${NUM} "/usr/local/zk/bin/zkServer.sh start" #向遠程機器發送命令
	NUM=$[${NUM}+1]
	done
	ssh -t -p 22 hadoop1 "/usr/local/hbase/bin/start-hbase.sh" #向遠程機器發送命令
else
echo "error"


fi #結束if命令


腳本簡單的實現了Hadoop集羣和HBase集羣的啓動,避免了在每個節點上的操作,簡化了集羣啓動操作。同時 腳本還存在一些bug,僅僅爲簡化集羣啓動


發佈了62 篇原創文章 · 獲贊 5 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章