最近在搭建mq集群時(shí)候需要用到,zookeeper,可是啟動(dòng)的時(shí)候顯示成功了,查看狀態(tài)的時(shí)候卻報(bào)錯(cuò)了:
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)康平免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
碰到這個(gè)問(wèn)題也是研究好好半天才解決,這里就總結(jié)出一個(gè)快速解決辦法!
首先,必須看日志:
報(bào)錯(cuò)信息一般是當(dāng)前目錄下這個(gè)文件中,打開(kāi)查看是什么原因,基本上我碰見(jiàn)的兩種:一種是端口占用,一種是找不到路由:
還有一種就是端口占用了,netstat -znpl |grep 2181 查看一下并關(guān)閉這個(gè)進(jìn)程,默認(rèn)端口是2181,zoo.cfg可配置
!!!!這里提示一下,zoo_sample.cfg必須改成名字z.cfg,否則也無(wú)法啟動(dòng),還有查看狀態(tài)必須所有配置了集群的節(jié)點(diǎn)都啟動(dòng)才行,因?yàn)橐ハ嗤ㄐ胚x出老大
我的是因?yàn)樯厦鎴D這個(gè),防火墻阻止了通信了,只有關(guān)閉防火墻就可以了,于是很坑的一點(diǎn)就來(lái)了,我用的是centos7,然后關(guān)了發(fā)現(xiàn)還是不好使,后來(lái)才想起來(lái),我為了使用習(xí)慣,以前不知道啥時(shí)候把防火墻換成iptables了,坑爹,然后都關(guān)閉就可以,查看成功:
注意:關(guān)閉之后,最好是kill調(diào)端口,全部重新啟動(dòng)一下,然后看一下輸出日志,報(bào)錯(cuò)沒(méi)有,沒(méi)有就可以了
這里貼一下firewalld 和IPtables的關(guān)閉方法:
firewalld(一般是centos7以及以上):
臨時(shí)關(guān)閉: systemctl stop firewalld.service
查看狀態(tài):systemctl status firewalld.service
開(kāi)機(jī)禁用(需要重啟生效):systemctl disable firewalld.service
IPtables(centos6之前的):
暫時(shí)關(guān)閉防火墻:(立即生效,開(kāi)機(jī)重啟,會(huì)重新打開(kāi))
service iptables stop
永久關(guān)閉防火墻(關(guān)機(jī)重啟才會(huì)生效)
chkconfig iptables off
如果是centos7里面,那就要換一種寫(xiě)法了:
systemctl stop iptables.service 其他一樣的