zookeeper集群部署问题排查记录

今天在三台虚拟机搭建zookeeper集群,一直连不通,然后进行了几个小时的斗争,做个记录。

具体部署方式网上有很多, 不在赘述。产生连接不同的问题主要有以下几个方面:

1.仔细检查配置文件。

   是否有错误配置,不该有空格的地方是否出现空格这一类的错误

   dataDir是否正确,myid文件是否设置正确等

2.防火墙问题:

   搭建集群是需要关闭防火墙的。因为为没有这个问题,所以也不知道日志是怎么样的,不过日志应该是存在“route”一类的词汇的。

   解决办法:关闭防火墙

3.域名和IP映射问题

    解决办法:集群中,zoo.cfg使用hostname替代IP进行配置,通过映射关系通信。

    说明:据说这个是zookeeper官网建议的配置方法,有些网友根据这个解决了问题,不知道啥原理,反正对我没用。

4.监听端口不对。

   netstat -nlp | grep java 检查监听端口问题,正确的应该和zoo.cfg配置的端口一致。但是实际情况不是这样

   重新启动该进程,netstat -nlp | grep java查到的其中一个端口号在不断的变化,并不是在配置文件配置的集群通信端口和leader选举端口。至此问题是找到了,就是服务端进程没有监听配置的leader选举3888端口,而是监听了随机端口导致其它服务器进程无法与之通讯,所以看到了这个异常。

  http://blog.csdn.net/u014284000/article/details/74508963 这个博客有非常详细的说明。

官方数据和源码才是王道,才能深入问题根本,解决问题。

原文地址:https://www.cnblogs.com/ilovena/p/8447901.html