十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近在搭建mq集群时候需要用到,zookeeper,可是启动的时候显示成功了,查看状态的时候却报错了:
专注于为中小企业提供网站建设、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业康平免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
碰到这个问题也是研究好好半天才解决,这里就总结出一个快速解决办法!
首先,必须看日志:
报错信息一般是当前目录下这个文件中,打开查看是什么原因,基本上我碰见的两种:一种是端口占用,一种是找不到路由:
还有一种就是端口占用了,netstat -znpl |grep 2181 查看一下并关闭这个进程,默认端口是2181,zoo.cfg可配置
!!!!这里提示一下,zoo_sample.cfg必须改成名字z.cfg,否则也无法启动,还有查看状态必须所有配置了集群的节点都启动才行,因为要互相通信选出老大
我的是因为上面图这个,防火墙阻止了通信了,只有关闭防火墙就可以了,于是很坑的一点就来了,我用的是centos7,然后关了发现还是不好使,后来才想起来,我为了使用习惯,以前不知道啥时候把防火墙换成iptables了,坑爹,然后都关闭就可以,查看成功:
注意:关闭之后,最好是kill调端口,全部重新启动一下,然后看一下输出日志,报错没有,没有就可以了
这里贴一下firewalld 和IPtables的关闭方法:
firewalld(一般是centos7以及以上):
临时关闭: systemctl stop firewalld.service
查看状态:systemctl status firewalld.service
开机禁用(需要重启生效):systemctl disable firewalld.service
IPtables(centos6之前的):
暂时关闭防火墙:(立即生效,开机重启,会重新打开)
service iptables stop
永久关闭防火墙(关机重启才会生效)
chkconfig iptables off
如果是centos7里面,那就要换一种写法了:
systemctl stop iptables.service 其他一样的