准备 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
该博客介绍了如何在三台Linux虚拟机上配置Zookeeper集群,并通过zk.sh脚本来自动化启动、停止和检查集群状态。脚本利用sshpass进行无密码SSH连接,简化了远程操作。
845

被折叠的 条评论
为什么被折叠?



