#!/bin/sh
#echo "waring"
#read NAME #等待用戶輸入并把輸入的值付給NAME
NAME=$1 #將腳本第一個參數賦給NAME
#引用變量時加上"{}",是個好習慣,利于shell辨別變量邊界
if [ -z ${NAME} ] ; then #執行腳本沒有輸入參數,默認關閉hadoopstop-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=1while [ ${NUM} -lt 4 ]doecho "shutdown hadoop${NUM}'s zkServer"ssh -t -p 22 hadoop${NUM} "/usr/local/zk/bin/zkServer.sh stop" #向遠程機器發送命令,停止HBase集群后停止ZooKeeper集群NUM=$[${NUM}+1]doneecho "shutdwon hadoop cluster"stop-all.sh
else #參數輸入錯誤,或者大小寫不合適echo "error"fi #結束if命令
腳本簡單的實現了Hadoop集群和HBase集群的停止,并沒有在細節和嚴謹性方面做嚴格的修改。只為了在停止集群時只需要簡單的一步即可而不需要再每臺機器上操作命令,減少了操作上的麻煩。
轉載于:https://www.cnblogs.com/JZZ1026/p/4417306.html