zookeeper集群遇到的坑(linux)

1.zookeeper启动不起来,然后又很懵逼

这个时候不要心慌,找到他的错误文件,默认是在bin下的zookeeper.out文件

打开之后就有启动不了的原因

2.myid文件

myid file is missing

表示没有myid文件

zookeeper集群遇到的坑(linux)

每个zookeeper启动的时候,都会根据dataDir配置路径去找myid这个文件,他表示server-id,自己新建就可以了,比如新建myid.txt文件,然后打开进去只填一个数字,比如1,保存退出,修改文件名,修改为myid就可以了,不需要后缀

zookeeper集群遇到的坑(linux)

这个文件还有一个坑,就是数字也不是随便乱填,根据自己的配置来设置

zookeeper集群遇到的坑(linux)

三个服务意味着有三个myid文件,分别对应这上面的1、2和3

3. zookeeper集群启动异常: Cannot open channel to 2 at election address ……

解决方法:本机用节点 用  0.0.0.0  IP代替主机名

[[email protected] ~]$ cat  /opt/software/zookeeper-3.4.13/conf/zoo.cfg
server.1=0.0.0.0:2888:3888
server.2=cdh03:2888:3888
server.3=cdh04:2888:3888

[[email protected] ~]$ cat  /opt/software/zookeeper-3.4.13/conf/zoo.cfg
server.1=cdh02:2888:3888
server.2=0.0.0.0:2888:3888
server.3=cdh04:2888:3888


[[email protected] ~]$ cat  /opt/software/zookeeper-3.4.13/conf/zoo.cfg
server.1=cdh02:2888:3888
server.2=cdh03:2888:3888
server.3=0.0.0.0:2888:3888

 

4.正确启动zookeeper

zookeeper集群遇到的坑(linux)

这种启动方式不是特别正确,因为我这里启动的时候,我启动的配置文件路径不对,导致我启动不起来

正确的启动方式应该加上配置文件

zookeeper集群遇到的坑(linux)

 

5.解决zookeeper集群重启 Error contacting service. It is probably not running 问题

zookeeper集群遇到的坑(linux)

那是因为你只启动了一台zookeeper,他无法联络到集群中的小伙伴

当你启动完其他服务后再执行就可以了

zookeeper集群遇到的坑(linux)

再执行jps

zookeeper集群遇到的坑(linux)

QuorumPeerMain是zookeeper启动类,有这个进程就表示启动成功

 

6.集群最少得保证两台在线

3台服务器组成集群,其中两台关闭仅剩一台,则客户端无法连接上zookeeper

 

 

博主强烈推荐:https://blog.****.net/persistencegoing/article/details/84376427

希望大家关注我一波,防止以后迷路,有需要的可以加群讨论互相学习java ,学习路线探讨,经验分享与java求职     

群号:721 515 304