1. 程式人生 > >zookeeper 叢集啟動時 出現 Error contacting service. It is probably not running 的解決辦法

zookeeper 叢集啟動時 出現 Error contacting service. It is probably not running 的解決辦法

在 zookeeper 叢集配置成功後,啟動時顯示正常啟動個,但是輸入命令檢視狀態時報錯!!!

錯誤資訊:Error contacting service. It is probably not running

提示我 zookeeper 服務連線錯誤,zookeeper 服務可能沒有執行!

錯誤資訊如下圖所示:


解決方案如下:

  • 方案一:關閉防火牆

為什麼首先將問題定位到防火牆呢,因為在 Linux 下是很嚴謹的,如果你配置的叢集和我的配置方法一樣,如下圖:


使用的 zookeeper 叢集間通訊的配置語法如下:

語法格式:server + myid = IP + 選舉埠 + 投票埠 

在這兒涉及到 IP 的訪問情況,所以需要關閉,要不就在防火牆中新增埠,不過我覺得直接關閉防火牆最直接-簡單。

  • 方案二:缺少 zookeeper 叢集所需的檔案

我的另外一篇部落格中關於 zookeeper 叢集的搭建有詳細的過程介紹,其中包含了所需檔案的建立工作,這個是必不可少的;

如上圖配置檔案所示,dataDir 所指向的目錄中,必須建立一個 myid 檔案 ,裡面只有一個值,那就是節點服務的唯一描述;

關於這個描述,就像資料庫中的 主鍵 Id 一樣,手動建立一個即可,它在 zookeeper 啟動的時候,就會載入!!!

  • 方案三:zoo.cfg 配置檔案中指向的路徑錯誤

當然如上圖配置檔案所示,路徑比較複雜時,便於管理與區分,但是需要我們的細心,一不注意就會寫錯一個字母,這個是最難發現的了。

  • 方案四:zookeeper 客戶端埠被佔用

 端口占用,是在實際生產環境中經常遇到的,但是可以避免的;可以輸入命令 ”netstat -anp|grep 2001“;

這個埠是已經使用並監聽的埠, 如果埠可用,就沒有返回值,如下圖: