1.报错详情

jps 查看进程是正常的,但是 zkServer.sh status 查看的时候报错。

[root@node2 zookeeper-3.4.6]# jps
1260 QuorumPeerMain
1278 Jps
[root@node2 zookeeper-3.4.6]# zkServer.sh status
JMX enabled by default
Using config: /opt/lft/zookeeper-3.4.6/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

2.解决办法

2.1 常见问题解决(办法汇总)

2.1.1 JDK 是否配好,版本是否与 Zookeeper 不兼容

执行下面两行命令看是否正常(不要觉得第二行没必要,反正我以前遇到过这种坑)
java -version
java
版本的话一般不会搞冲突,除非你的公司刚刚起步,架构水的一批。没毕业的朋友就更不用说了,除非老师足够水。。。

2.2.2 端口是否被占用

# 如果集群没有启动,那么该端口不应该被占用
netstat -apn | grep 2181   #默认2181端口为服务端提供端口,如果你的修改了,按你的实际情况为准
# 查询出来占用2181端口的进程PID后杀掉即可
kill -9 pid                #pid为占用端口的进程id号

2.2.3 网卡问题

执行 ip add 回车

在这里插入图片描述
如果红框位置是物理地址,重启网卡即可:service network restart

2.2.4 网络问题

ping 测试

我 ping 百度的(有数据响应即可),也可以 ping 其他结点的机器。
在这里插入图片描述

2.2.5 (慎用!)删除 dataDIr 目录下的文件后重启

我在网上看到有不少朋友这样搞,有些情况也确实很管用:
在这里插入图片描述

但是不建议使用!!!除非你在学习阶段,只是自己在虚拟机上玩玩。
工作的朋友就别用这个方法了,除非你在搭建阶段,还没投入生产使用。

2.2 查看日志解决

查看我的日志:
在这里插入图片描述
Cannot open channel to 3 at election address node4/192.168.146.114:3888

解决办法:

(1)确保防火墙关闭

# 关闭防火墙
service iptables stop
# 查看防火墙状态
service iptables status

在这里插入图片描述
注意
不同发行版的Linux系统的防火墙也不相同,如centos和ubuntu,centos6和centos7…
我这里用的是centos6.5,各位,关于 ubuntu和centos 主流版本的防火墙命令可以参考:
https://blog.csdn.net/weixin_44285445/article/details/107558294

(2)确保你当时安装配置的时候,在 xx/data目录/myid 有相应的数字(这个目录是你在配置文件 zoo.cfg 中给 dataDir 赋的值)
在这里插入图片描述
(3)以上两个都确保的情况下还不行的话,就将 zoo.cfg 中 server.id 的值修改一下:

在此之前我的三台机器都是这样配的:

server.1=node2:2888:3888
server.2=node3:2888:3888
server.3=node4:2888:3888

修改后是这样(就是把本机的):

在这里插入图片描述
然后重启 zookeeper 集群就阔以了。

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐