参考教程写了一个集群启动zookeeper的sh脚本。运行后发现只有本机的zookeeper正常启动,其他虚拟机报错如下:
每台主机的java_home都已经配置,java-version也能正常执行,且单独运行zkServer.sh start可以正常启动zookeeper。
这时我们进入每台主机的zookeeper下的bin目录,修改zkServer.sh文件,在文件开始部分加上自己的java路径,export JAVA_HOME=/home/master/jdk1.8.0_141
集群就可以正常启动了

附一个集群操作zookeeper的shell脚本:
#!bin/bash
command=$1
./zkServer.sh ${command}
ssh slave1 "/home/master/zookeeper/bin/zkServer.sh ${command};sleep 3;exit"
echo "----------------"
ssh slave2 "/home/master/zookeeper/bin/zkServer.sh ${command};sleep 3;exit"
echo "zookeeper cluster ${command}ed "
脚本需要传一个参数,代表当前对zookeeper的操作,如sh start.sh status查看目前的各节点的身份。

本文介绍了一种解决ZooKeeper集群启动时遇到的问题的方法。通过修改zkServer.sh文件来指定Java路径,实现了集群中所有节点的正常启动。
2万+

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



