1.前提
如果不清楚我具体做了什么配置可以参看我前面两篇文章(按顺序) https://blog.csdn.net/Te_Chainy/article/details/118026360 https://blog.csdn.net/Te_Chainy/article/details/118965732
2.正文
先给权限,三个节点都输入一下命令
su root
因为我的三个节点都是克隆的所以,每次重新开机,hostname都会变成server1(就是克隆的那个节点)
修改将后两个节点的hostname修改一下,不然可能会出现一些问题 节点二:
hostname server2
 节点三:
hostname server3
 然后将三个节点防火墙都关闭,要不然各个节点无法沟通,用群启、和群停都没问题,只有查看状态的时候就会出现问题。
systemctl stop firewalld
3.编写脚本
首先先添加java环境变量。(三个节点同样的操作) 进入zookeeper的bin中
cd cd /opt/zookeeper/apache-zookeeper-3.6.3-bin/bin/
修改zkEnv.sh
vim zkEnv.sh
找到选中的地方 添加选中的内容 
JAVA_HOME="/opt/java/jdk1.8.0_291
java的jdk位置根据自己的位置填写。
最后一个配置环节: 进入根目录
cd ~
进入bin中
cd /bin/
创建文件zk.sh
touch zk.sh
编辑zk.sh
vim zk.sh
添加如下内容
case $1 in
"start"){
for i in server1 server2 server3
do
ssh $i "/opt/zookeeper/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start"
done
};;
"stop"){
for i in server1 server2 server3
do
ssh $i "/opt/zookeeper/apache-zookeeper-3.6.3-bin/bin/zkServer.sh stop"
done
};;
"status"){
for i in server1 server2 server3
do
ssh $i "/opt/zookeeper/apache-zookeeper-3.6.3-bin/bin/zkServer.sh status"
done
};;
esac
根据自己的情况进行配置,然后保存。 需要先给权限,不然无法执行
chmod 777 zk.sh
群启:
zk.sh start
 查看群状态:
zk.sh status
 群关:
zk.sh stop

|