参考教程写了一个集群启动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查看目前的各节点的身份。