记一次zookeeper集群搭建错误的排除
zookeeper官网上的文档说得很清楚。
http://zookeeper.apache.org/doc/r3.5.1-alpha/zookeeperAdmin.html#sc_designing
设置好jdk的环境变量
下载并解压zookeeper.
zoo.cfg配置,直接复制官网的即可,然后调整datadir和servername即可。
然后执行zkServer.sh start命令。
jps查看进程已经存在。然后zkServer.sh status进行确认,但这个时候问题来了,一直报错如下:
Error contacting service. It is probably not running.
直接看zookeeper.out中显示的信息,一直是显示连接的时候被拒绝。
连接3:192.168.56.103的时候被拒绝 之类的错误,
这个错误没有引起我的注意,我以为这是正常的,因为一开始大家都没有启动起来,这很正常。
但是进程都起来之后这样就不正常了,我还是没有注意这点。
折腾了一晚上的两个小时,没有搞定,早上郁闷地把最新版3.5.1下载下来进行尝试。
居然发现这个新版本报了这个信息:
zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /app/zookeeper351/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.
这次这个信息引起我的注意,我赶紧查看监听端口的信息。
netstat -an | grep 2181
这次发现问题了,只有127.0.0.1:2181 ,终于找到问题了。
我赶紧 cat /etc/hosts
发现第一行127.0.0.1 localhost nn1 之类的
好吧 我在zoo.cfg中配置的是 nn1:2888:3888
它去etc/hosts中找的时候,第一行就找到了,就没有往下找估计。
直接去掉nn1之类的机器名。然后重新启动zkServer.sh
问题解决。