zookeeper啟動失敗解決辦法(3.5.7)


在剛接觸到zookeeper的時候,linux啟動時查看狀態出現以下異常:

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.
 

 

1、檢查是否關閉防火牆,(systemctl status firewalld.service  /  systemctl stop firewalld.service);檢查是否安裝jdk,因為zookeeper的運行需要JVM環境,可以使用java和java -version命令來驗證

2、查看zookeeper的端口2181是否已經被占用了,可以用 netstat -apn | grep 2181  查看 ,若是被占用,便殺掉這個進程。

3、如果上面的操作還解決不了問題,那么我們接着到zookeeper-3.4.5的data目錄下,可以看到如下所示的文件,其中version-2文件夾和zookeeper_server.pid兩個文件都是需要刪除掉的。

4、若是還解決不了,就按照下面的繼續檢查

zookeeper最近的版本中有個內嵌的管理控制台是通過jetty啟動,也會占用8080 端口。 
通過查看zookeeper的官方文檔,發現有3種解決途徑:

方法一:刪除jetty。
 
方法二:修改端口。 

修改方法的方法有兩種:

一種是在啟動腳本中增加 -Dzookeeper.admin.serverPort=你的端口號.

-Dzookeeper.admin.serverPort=你的端口號
一種是在zoo.cfg中增加admin.serverPort=沒有被占用的端口號 

admin.serverPort=沒有被占用的端口號

方法三:停用這個服務。
在啟動腳本中增加-Dzookeeper.admin.enableServer=false

-Dzookeeper.admin.enableServer=false

 

zookeeper集群報錯:Error: JAVA_HOME is not set and java could not be found in PATH.

在學習搭建zookeeper集群的時候會經常的啟動和停止zookeeper服務,以及查看服務狀態。一個一個啟動非常麻煩,通過一段shell腳本來進行啟動就非常方便了。
那么問題來了,單獨啟動zookeeper服務的時候是完全沒問題的,通過腳本來啟動的時候就會報錯:

 

 

解決辦法:
在zookeeper目錄下的bin目錄下,有一個zkEnv.sh文件,在文件代碼部分的前面加上自己的JAVA_HOME路徑即可。

 

 修改完成后再運行,問題解決。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM