zookeeper 集群启动时 出现 Error contacting service. It is probably not running 的解决办法




在 zookeeper 集群配置成功后,启动时显示正常启动个,但是输入命令查看状态时报错!!!

错误信息:Error contacting service. It is probably not running

提示我 zookeeper 服务连接错误,zookeeper 服务可能没有运行!

错误信息如下图所示:


zookeeper 集群启动时 出现 Error contacting service. It is probably not running 的解决办法




解决方案如下:



  • 方案一:关闭防火墙

为什么首先将问题定位到防火墙呢,因为在 Linux 下是很严谨的,如果你配置的集群和我的配置方法一样,如下图:


zookeeper 集群启动时 出现 Error contacting service. It is probably not running 的解决办法


使用的 zookeeper 集群间通信的配置语法如下:

语法格式:server + myid = IP + 选举端口 + 投票端口 

在这儿涉及到 IP 的访问情况,所以需要关闭,要不就在防火墙中新增端口,不过我觉得直接关闭防火墙最直接-简单。



  • 方案二:缺少 zookeeper 集群所需的文件

 我的另外一篇博客中关于 zookeeper 集群的搭建有详细的过程介绍,其中包含了所需文件的创建工作,这个是必不可少的;

 如上图配置文件所示,dataDir 所指向的目录中,必须创建一个 myid 文件 ,里面只有一个值,那就是节点服务的唯一描述;

 关于这个描述,就像数据库中的 主键 Id 一样,手动创建一个即可,它在 zookeeper 启动的时候,就会加载!!!



  • 方案三:zoo.cfg 配置文件中指向的路径错误

 当然如上图配置文件所示,路径比较复杂时,便于管理与区分,但是需要我们的细心,一不注意就会写错一个字母,这个是最难发现的了。


  • 方案四:zookeeper 客户端端口被占用

 端口占用,是在实际生产环境中经常遇到的,但是可以避免的;可以输入命令 ”netstat -anp|grep 2001“;

这个端口是已经使用并监听的端口, 如果端口可用,就没有返回值,如下图:zookeeper 集群启动时 出现 Error contacting service. It is probably not running 的解决办法