微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

shell 一键启动zookeeper集群

#!/bin/bash
if [ $# -lt 1 ];then
  echo "invalid param"
  exit
fi

hosts=(node1 node2 node3)

# 判断第二个参数是否在hosts数组中
contains(){
	n=1
	for i in ${hosts[*]}
	do
	  if [ "$1" = "$i" ];then
		n=0
	  fi
	done
	echo $n
}
case $1 in
	"start"){
		for i in ${hosts[*]}
		do
			echo ---------- zookeeper $i 启动 ------------
			ssh $i "/export/server/zookeeper-3.4.6/bin/zkServer.sh start"
		done
	};;
	"stop"){
		for i in ${hosts[*]}
		do
			echo ---------- zookeeper $i 停止 ------------ 
			ssh $i "/export/server/zookeeper-3.4.6/bin/zkServer.sh stop"
		done
	};;
	"status"){
		for i in ${hosts[*]}
		do
			echo ---------- zookeeper $i 状态 ------------ 
			ssh $i "/export/server/zookeeper-3.4.6/bin/zkServer.sh status"
		done
	};;
    "client")
		if [ $# -ne 2 ];then
		  echo "need two params, but given $#"
		  exit
		elif [ $(contains $2) -eq 1 ];then
		  echo "second param error: $2"
		  exit
		fi
		echo ---------- 连接客户端zookeeper $2  ------------
		/export/server/zookeeper-3.4.6/bin/zkCli.sh  -server $2:2181
		;;
	*)
		echo ---------- param $* invalid ------------
		;;
esac

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。