1. 程式人生 > >Zookeeper-Error contacting service. It is probably not running.解決方式彙總

Zookeeper-Error contacting service. It is probably not running.解決方式彙總

使用命令zkServer.sh status檢視zookeeper各節點狀態的時候出現Error contacting service. It is probably not running.的錯誤

檢視zookeeper.out見有以下WARN

Cannot open channel to 101 at election address slave01/*.*.*.*:3888 java.net.SocketTimeoutException: connect timed out

解決方法:

1.確保zookeeper安裝目錄下的conf下的zoo.cfg配置瞭如下資訊

server.100=master:2888:3888 server.101=slave01:2888:3888 server.102=slave02:2888:3888

2.確保zoo.cfg檔案配置的dataDir目錄下有myid檔案並且內容為該機id,如果像上面一樣配置了三臺伺服器id分別為100,101,102則每臺伺服器的myid檔案中寫入各自的編號。

3.上面兩步都沒錯之後發現錯誤還是沒有消失,檢查/etc/hosts檔案中自己的主機名是否解析為127.0.0.1,或者如果是阿里雲的ECS的話有預設自己的主機名解析為內網地址,如果你將自己的主機名改成了解析為外網地址,那麼zookeeper將無法在zoo.cfg檔案中沒有0.0.0.0的情況下啟動。

方式一:

將/etc/hosts/中的自己的主機名解析成內網地址

方式二:

修改每臺伺服器中的zoo.cfg配置資訊

然後重啟zookeeper

master

server.100=0.0.0.0:2888:3888 server.101=slave01:2888:3888 server.102=slave02:2888:3888

slave01

server.100=master:2888:3888 server.101=0.0.0.0:2888:3888 server.102=slave02:2888:3888

slave02

server.100=master:2888:3888 server.101=slave01:2888:3888 server.102=0.0.0.0:2888:3888

然後重啟zookeeper

到了這裡如果還是沒解決錯誤,可以嘗試下面幾種方式

1.關閉防火牆

2.如果是ECS則去控制檯開放zookeeper相關的埠

3.刪除dataDir目錄下的zookeeper_server.pid檔案然後重啟zk

參考網址