zookeeper集群遇到的坑(linux)
1.zookeeper启动不起来,然后又很懵逼
这个时候不要心慌,找到他的错误文件,默认是在bin下的zookeeper.out文件
打开之后就有启动不了的原因
2.myid文件
myid file is missing
表示没有myid文件
每个zookeeper启动的时候,都会根据dataDir配置路径去找myid这个文件,他表示server-id,自己新建就可以了,比如新建myid.txt文件,然后打开进去只填一个数字,比如1,保存退出,修改文件名,修改为myid就可以了,不需要后缀
这个文件还有一个坑,就是数字也不是随便乱填,根据自己的配置来设置
三个服务意味着有三个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
这种启动方式不是特别正确,因为我这里启动的时候,我启动的配置文件路径不对,导致我启动不起来
正确的启动方式应该加上配置文件
5.解决zookeeper集群重启 Error contacting service. It is probably not running 问题
那是因为你只启动了一台zookeeper,他无法联络到集群中的小伙伴
当你启动完其他服务后再执行就可以了
再执行jps
QuorumPeerMain是zookeeper启动类,有这个进程就表示启动成功
6.集群最少得保证两台在线
3台服务器组成集群,其中两台关闭仅剩一台,则客户端无法连接上zookeeper
博主强烈推荐:https://blog.****.net/persistencegoing/article/details/84376427
希望大家关注我一波,防止以后迷路,有需要的可以加群讨论互相学习java ,学习路线探讨,经验分享与java求职
群号:721 515 304