原因很简单:我人蠢又自负
查看日志文件 发现无法找到路由 出现这个问题的原因只有两种 一种是监控端口未被监控 一种是防火墙问题
最初我以为是因为监控端口问题,自动排除了防火墙 因为我记得我已经为master节点永久关闭防火墙了(事实也确实如此)
所以我去找源码,最终发现了这样的一条判定规则 使这条判定规则失效,即可监控所有端口 所以在自己的cfg文件加上一条
quorumListenOnAllIPs
=true
好了,完事,应该可以了 重新运行
emmm,还是出错了
仔细思考一下,会不会是因为某些启动时需要的文件没有权限 看了下文件目录,发现data文件多出了一个version-2文件夹 查了下百度,这个文件夹确实和启动服务有那么一丝丝关系 那时候开心呀,感觉找到问题了 于是修改这个文件夹及其子文件的权限为777 好了,完事,应该可以了 重新运行
emmm还是出错
没理由呀,难道我的虚拟机是十年难得一遇的故障机,还没出仓就要保修吗?
第一个可能基本排除了,我开始想第二个我已经排除的可能 然后仔细一想。。。。。。 惨呀,罪魁祸首竟然真是防火墙,master防火墙关了,slave没有 systemctl stop firewalld.service systemctl disable firewalld.service 重新启动zookeepear,成功了
所以说还是不要小看一些看起来不会出现的智障错误,不然做了一堆查日志查源码的高端操作之后的你,会和我现在一样觉得自己智障