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

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 集群就阔以了。

在这里插入图片描述

  • 12
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
根据提供的引用内容,以下是解决ZooKeeper启动失败并出现"Error contacting service. It is probably not running."错误的几种方法: 1. 检查ZooKeeper配置文件:确保配置文件中的端口号、数据目录和日志目录等设置正确无误。 2. 检查ZooKeeper日志:查看ZooKeeper的日志文件,通常位于ZooKeeper的日志目录中。检查日志文件中是否有其他错误或异常信息,以帮助确定问题的根本原因。 3. 检查ZooKeeper进程:使用命令行工具(如ps命令)检查ZooKeeper进程是否正在运行。如果进程没有运行,可以尝试重新启动ZooKeeper。 4. 检查端口占用情况:确保ZooKeeper所使用的端口没有被其他进程占用。可以使用netstat命令或类似的工具来检查端口占用情况。 5. 检查防火墙设置:如果服务器上启用了防火墙,确保ZooKeeper所使用的端口在防火墙规则中是允许访问的。 6. 检查主机名解析:确保ZooKeeper服务器的主机名能够正确解析。可以尝试使用ping命令来测试主机名的解析情况。 7. 检查ZooKeeper版本兼容性:如果使用的是较新版本的ZooKeeper,确保客户端和服务器端的版本兼容性。有时候不同版本之间的不兼容性会导致启动失败。 8. 检查硬件资源:确保服务器上的硬件资源(如内存、磁盘空间)足够支持ZooKeeper的正常运行。 9. 尝试重新安装ZooKeeper:如果以上方法都无法解决问题,可以尝试重新安装ZooKeeper,并确保按照官方文档提供的步骤进行配置和启动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值