原创

【已解决】zookeeper显示Error contacting service. It is probably not running等问题

博主在搭建hadoop集群时,为实现高可用(high-available),使用zookeeper 3.4.6,出现了一些小插曲,报错(Error contacting service. It is probably not running),经历一番折腾,最终完美解决。

下面提示几个配置zookeeper容易入坑的点:

一、zoo.cfg配置文件(文件位置在zookeeper根目录下的conf里)

千万不要乱改系统文件,网上的解决方案未必都是正确的,一般都是自己的配置出问题,请仔细查看。

- 两个目录的创建
zoo.cfg

- 端口号设置端口号设置
记得在dataDir目录下新建myid文件,对应集群中的不同机器的dataDir目录下myid文件的内容,如上图所示,博主的node2节点的dataDir目录下的myid内容是1,以此类推,node3节点下的内容则为2。

- ip地址映射
就是修改hosts文件,linux下打开hosts的命令是:

vi /etc/hosts

hosts
按照博主的模板,做好映射。

- 如果发现防火墙未关闭等问题,请自行解决。

二、zookeeper正确的运行方法

由于zookeeper是集群管理工具,又部署在每个节点上,所以启动的时候一定将每个节点的zkService.sh都差不多同时启动。
如图,若报错java.net.ConnectException(这样的日志文件在zookeeper根目录下的conf文件夹的zookeeper.out)如下,则是你只开了一个节点,没有将所有节点打开,同时打开即可,若超过6000ms,zookeeper就会自动关闭,切记!
zookeeper拒绝连接
启动zookeeper时输出日志的启动方法: zkServer.sh start-foreground,无需进入文件系统即可看到控制台输出信息。

正文到此结束