Zookeeper启动失败解决办法汇总——Error contacting service. It is probably not running.

2021-12-07 15:35:28 浏览数 (1)

文章目录

  • 1.报错详情
  • 2.解决办法
    • 2.1 常见问题解决(办法汇总)
      • 2.1.1 JDK 是否配好,版本是否与 Zookeeper 不兼容
      • 2.2.2 端口是否被占用
      • 2.2.3 网卡问题
      • 2.2.4 网络问题
      • 2.2.5 (慎用!)删除 `dataDIr` 目录下的文件后重启
    • 2.2 查看日志解决

1.报错详情

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

代码语言:javascript复制
[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 端口是否被占用

代码语言:javascript复制
# 如果集群没有启动,那么该端口不应该被占用
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)确保防火墙关闭

代码语言:javascript复制
# 关闭防火墙
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 集群就阔以了。

0 人点赞