您好,登錄后才能下訂單哦!
Zookeeper一般會出現以下兩種故障:
1. Zookeeper進程掛掉;
2. Zookeeper進程還在,但不提供服務;(提示:This ZooKeeper instance is not currently serving requests)
Zookeeper故障監控:
1. 針對zookeeper進程的監控,直接監控器進程是否存在即可;(zookeeper進程名字:QuorumPeerMain)
2. 針對zookeeper不能提供服務,需要通過linux shell命令監控;
當在linux下輸入以下命令并得到下面的結果時,說明zookeeper還活著,但不提供服務了。(這種情況幾率大)
[root@192.168.1.1 bin]# echo stat | nc localhost 2181
This ZooKeeper instance is not currently serving requests
當在linux下輸入以下命令并得到下面的結果時,說明zookeeper服務正常。
[root@192.168.1.1 bin]# echo stat | nc localhost 2181
Zookeeper version: 3.4.6-1569965, built on 02/20/2014 09:09 GMT
Clients:
/192.168.1.12:29432[1](queued=0,recved=13,sent=13)
/127.0.0.1:43448[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/1/11
Received: 235
Sent: 17
Connections: 2
Outstanding: 0
Zxid: 0x100000004
Mode: leader
Node count: 4
Zookeeper故障處理:
1. 當zookeeper出現以上兩種故障或未知故障時,請先嘗試重啟zookeeper;
(啟動命令:/usr/zookeeper-3.4.6/bin/ 目錄下執行 ./zkServer.sh start )
2. 重啟之后首先要輸入命令jps,看zookeeper進程(QuorumPeerMain)是否起來;
3. 如果zookeeper進程起來,再輸入命令echo stat | nc localhost 2181,看服務是否正常(如果數據量大可能需要等幾分鐘才能顯示正確);
4. 如果第2步的進程沒有起來,或者第3步的顯示不能提供服務,則需要清除以下數據后再試1、2、3步;
需要清除下面兩個文件夾下的所有數據(最好將數據備份到別的地方或重命名文件夾名字):
/var/zookeeper/data/version-2
/var/zookeeper/logs/version-2
5. 如果不幸走到了這一步,則意味著第4步重試后第2步進程還是沒有起來或第3步不能提供服務,這時需要重新搭建一套zookeeper服務,并修改所有使用zookeeper服務的hosts。
Zookeeper服務搭建:
1. 將附件中的安裝包解壓到linux機器上的 /usr/ 目錄下;如:/usr/zookeeper-3.4.6
2. 修改附件中的zoo.cfg文件,將文件中的的ip修改為新機器的ip;
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
3. 將修改完的zoo.cfg文件拷貝到解壓目錄 /usr/zookeeper-3.4.6/conf/ ;
4. 在新機器上創建以下目錄和文件:
/var/zookeeper/data/
/var/zookeeper/logs/
/var/zookeeper/data/myid 該文件下要寫上第2步中ip對應的server.后面的數字,比如192.168.1.1 ip對應的是server.1,則該機器上的myid中的內容就是1。其他的都類似。
5. 到此為止zookeeper服務就搭建完畢了,下面就需要啟動zookeeper了。
(啟動命令:/usr/zookeeper-3.4.6/bin/ 目錄下執行 ./zkServer.sh start )
附件文件地址:
http://down.51cto.com/data/2114349
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。