最近在搭建mq集羣時候須要用到,zookeeper,但是啓動的時候顯示成功了,查看狀態的時候卻報錯了:centos
碰到這個問題也是研究好好半天才解決,這裏就總結出一個快速解決辦法!ide
首先,必須看日誌:centos7
報錯信息通常是當前目錄下這個文件中,打開查看是什麼緣由,基本上我遇見的兩種:一種是端口占用,一種是找不到路由:
日誌
還有一種就是端口占用了,netstat -znpl |grep 2181 查看一下並關閉這個進程,默認端口是2181,zoo.cfg可配置進程
!!!!這裏提示一下,zoo_sample.cfg必須改爲名字z.cfg,不然也沒法啓動,還有查看狀態必須全部配置了集羣的節點都啓動才行,由於要互相通訊選出老大ip
個人是由於上面圖這個,防火牆阻止了通訊了,只有關閉防火牆就能夠了,因而很坑的一點就來了,我用的是centos7,而後關了發現仍是很差使,後來纔想起來,我爲了使用習慣,之前不知道啥時候把防火牆換成iptables了,坑爹,而後都關閉就能夠,查當作功:
路由
注意:關閉以後,最好是kill調端口,所有從新啓動一下,而後看一下輸出日誌,報錯沒有,沒有就能夠了it
這裏貼一下firewalld 和IPtables的關閉方法:table
firewalld(通常是centos7以及以上):class
臨時關閉: 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 其餘同樣的