准备 3 台Linux虚拟机,首先安装 sshpass :
yum install sshpass -y
3台机器都开放 2181 端口
在Linux 根目录的 bin下,新建 zk.sh 文件:
vim zk.sh
,输入一下代码内容:
(注意,你要修改两个地方,1:把我的虚拟机 ip 地址改成你自己的;2,sshpass -p 后边是我的虚拟机 root 密码,你要改成你自己的)
#!/bin/bash
localip=192.168.1.131
case $1 in
"start"){
for i in 192.168.1.131 192.168.1.132 192.168.1.133
do
echo ------- zookeeper $i 启动 --------
if [ $i = $localip ]
then
/usr/local/zookeeper-3.5.7/bin/zkServer.sh start
else
sshpass -p "hcy991002" ssh $i "source /etc/profile;/usr/local/zookeeper-3.5.7/bin/zkServer.sh start"
fi
done
}
;;
"stop"){
for i in 192.168.1.131 192.168.1.132 192.168.1.133
do
echo ------- zookeeper $i 停止 --------
if [ $i = $localip ]
then
/usr/local/zookeeper-3.5.7/bin/zkServer.sh stop
else
sshpass -p "hcy991002" ssh $i "source /etc/profile;/usr/local/zookeeper-3.5.7/bin/zkServer.sh stop"
fi
done
}
;;
"status"){
for i in 192.168.1.131 192.168.1.132 192.168.1.133
do
echo ------- zookeeper $i 状态信息 --------
if [ $i = $localip ]
then
/usr/local/zookeeper-3.5.7/bin/zkServer.sh status
else
sshpass -p "hcy991002" ssh $i "source /etc/profile;/usr/local/zookeeper-3.5.7/bin/zkServer.sh status"
fi
done
}
;;
esac
然后,赋予执行权限:chmod 777 zk.sh
最后,cd /bin
启动集群: ./zk.sh start
,注意一定要加 “./” ,不然不能运行
关闭集群: ./zk.sh stop
查看集群状态: ./zk.sh status