解決Zookeeper無法啟動的問題
今天在啟動zookeeper叢集的單個zookeeper節點時總是報如下錯誤
[[email protected] zookeeper-3.4.5]# bin/zkServer.sh status JMX enabled by default Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg Error contacting service. It is probably not running. [[email protected] zookeeper-3.4.5]#
於是嘗試解決它,首先要想到的是是否安裝了JDK,因為zookeeper的執行需要JVM環境,可以使用java和java -version命令來驗證,如下所示,可以看到JDK已經正確安裝。
[
那麼下面我們便檢視zookeeper的埠2181是否已經被佔用了(當然,有可能大家已經改用其它埠了,這個根據大家的實際來操作),如下所示,可以看到,2181埠還真的被佔用了!這就是問題的根源,我們可以看到佔用2181埠的程序號是1403,那麼我們便殺掉這個程序。
[
殺掉程序的命令是kill -9 1403,殺掉程序之後再檢查一下是否還有程序佔用2181埠,發現已經沒有程序佔用了。 [[email protected] zookeeper-3.4.5]# kill -9 1403 [[email protected] zookeeper-3.4.5]# netstat -apn | grep 2181 [[email protected] zookeeper-3.4.5]# 下面我們再來啟動zookeeper,就應該能正常啟動了。
如果上面的操作還解決不了問題,那麼我們接著到zookeeper-3.4.5的data目錄下,可以看到如下所示的檔案,其中version-2資料夾和zookeeper_server.pid兩個檔案都是需要刪除掉的。 [[email protected] data]# ll 總用量 12 -rw-r--r--. 1 root root 2 4月 26 05:31 myid drwxr-xr-x. 2 root root 4096 4月 26 07:03 version-2 -rw-r--r--. 1 root root 4 4月 28 04:25 zookeeper_server.pid [[email protected] data]# 刪除操作如下,刪完只剩下myid檔案了。 [[email protected] data]# rm -rf version-2/ zookeeper_server.pid [[email protected] data]# ls myid [[email protected] data]#
我們再次嘗試啟動zookeeper,如下所示,發現zookeeper終於正常啟動了。
[[email protected] zookeeper-3.4.5]# bin/zkServer.sh start JMX enabled by default Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [[email protected] zookeeper-3.4.5]# bin/zkServer.sh status JMX enabled by default Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: follower [[email protected] zookeeper-3.4.5]#
還有一種情況就是,啟動zookeeper叢集的某個節點時死活啟動不了,把上面所說的三種情況都檢查過了還是啟動不了,這時我們可以先啟動zookeeper的另外幾個節點,等把其它節點啟動好了,這個啟動不了節點就自動啟動好了!!!
基本上這幾種情況便可以解決zookeeper無法啟動的問題了(如果還是不行,就要看看是不是安裝zookeeper的步驟有錯誤了) --------------------- 作者:在京奮鬥者 來源:CSDN 原文:https://blog.csdn.net/u012453843/article/details/70878117 版權宣告:本文為博主原創文章,轉載請附上博文連結!