问题描述
启动正常:
# zkServer.sh start
JMX enabled by default
Using config: /usr/local/zk/bin/../conf/zoo.cfg
Starting zookeeper … STARTED
查看状态却报错:
# zkServer.sh status
JMX enabled by default
Using config: /usr/local/zk/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
问题解决
原因一zoo.cfg配置文件时,指定了log的输出目录,但是却未创建,需要mkdir创建。
mkdir -p /usr/zookeeper/tmp
原因二
tmp目录下myid文件写错,不同的节点上面的myid里的数字不同,分别设置:1,2,3等等。
原因三
防火墙是否关闭了(这个是最大的可能)。
service iptables stop //关闭防火墙
service iptables status //查看状态
chkconfig iptables off //禁用防火墙
Ubuntu
查看防火墙状态:ufw status
关闭防火墙:ufw disable
Centos7.0
查看防火墙状态:firewall-cmd --state
关闭防火墙:systemctl stop firewalld.service
原因四
zoo.cfg配置该节点的主机名是否写错了。
是的话就先停止三个节点zookeeper服务,再逐一的修改节点上zoo.cfg配置文件,再逐一的启动。
原因五
端口被占用了,把2181端口改成别的就可以了。
netstat -an | grep 2181
原因六
利用jps命令查看,zk是否已经启动,启动了的就先杀掉进程,再重新启动即可。
原因七
建立主机和ip之间映射关系的命令为 vim /etc/hosts。