zookeeper启动时,出现如下情况:
====== zookeeper node1 启动 ==========[root@node1 conf]# zkServer.sh start
JMX enabled by defaultUsing config:/usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
====== zookeeper node2 启动 ==========[root@node2~]# zkServer.sh start
JMX enabled by defaultUsing config:/usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
====== zookeeper node3启动 ==========[root@node3~]# zkServer.sh start
JMX enabled by defaultUsing config:/usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
显示JMX是默认关闭的
通过jps命令查看进程时,没有QuorumPeerMain这个进程
网上有很多方法,有说关闭防火墙的,
也有说把命令改成 ./zkServer.sh start
[root@node3 bin]# ./zkServer.sh start
JMX enabled by defaultUsing config:/usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@node3 bin]# ./zkServer.sh status
JMX enabled by defaultUsing config:/usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Error contacting service. Itis probably not running.
我都尝试过,和上面效果一样,均无法启动(可能每一个人的解决办法都不一样)
解决方案
在 zkServer.sh 文件的开头部分,加上jdk环境变量信息
找到zkServer.sh文件,就找安装的zookeeper路径的bin目录下
[root@node1~]# cd /usr/local/zookeeper-3.4.6/bin
[root@node1 bin]# ls
README.txt zkCli.cmd zkEnv.cmd zkServer.cmd zookeeper.out
zkCleanup.sh zkCli.sh zkEnv.sh zkServer.sh
[root@node1 bin]# vi zkServer.sh
添加JAVA_HOME的环境变量(这里要自己去查看自己配置的)
export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64
export PATH=$JAVA_HOME/bin:$PATH
node1、node2、node3都进行添加
然后刷新语句变量:
source /etc/profile
再次输入启动zkServer.sh,查看开启状态
[root@node1 conf]# zkServer.sh start
[root@node1 conf]# zkServer.sh status
JMX enabled by defaultUsing config:/usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Error contacting service. Itis probably not running.
重新运行脚本,查看jps,就可以找到QuorumPeerMain进程
同样的错误,每个人的解决方式可能不一样,但是我用这中方式成功启动ZooKeeper集群
版权归原作者 渲染ゞ笔墨情14 所有, 如有侵权,请联系我们删除。