今天在三台虚拟机搭建zookeeper集群,一直连不通,然后进行了几个小时的斗争,做个记录。
具体部署方式网上有很多, 不在赘述。产生连接不同的问题主要有以下几个方面:
1.仔细检查配置文件。
是否有错误配置,不该有空格的地方是否出现空格这一类的错误
dataDir是否正确,myid文件是否设置正确等
2.防火墙问题:
搭建集群是需要关闭防火墙的。因为为没有这个问题,所以也不知道日志是怎么样的,不过日志应该是存在“route”一类的词汇的。
解决办法:关闭防火墙
3.域名和IP映射问题
解决办法:集群中,zoo.cfg使用hostname替代IP进行配置,通过映射关系通信。
说明:据说这个是zookeeper官网建议的配置方法,有些网友根据这个解决了问题,不知道啥原理,反正对我没用。
4.监听端口不对。
netstat -nalp|java 检查监听端口问题,正确的应该和zoo.cfg配置的一致。但是实际情况不是这样
重新启动该进程,netstat -nalp|java查到的其中一个端口号在不断的变化。至此问题是找到了,就是服务端进程没有监听配置的3888端口,而是监听了随机端口导致其它服务器进程无法与之通讯,所以看到了这个异常,就是服务端进程没有监听配置的3888端口,而是监听了随机端口导致其它服务器进程无法与之通讯,所以看到了这个异常。
http://blog.csdn.net/u014284000/article/details/74508963 这个博客有非常详细的说明。
官方数据和源码才是王道,才能深入问题根本,解决问题。
原文地址:https://www.cnblogs.com/ilovena/p/8447901.html
时间: 2024-10-19 21:15:01