一、利用ZooKeeper實現一個組成員的協同管理
二、建立一個Master的節點,並利用Master監控組成員Workers
三、Workers也要監控Master,當Master宕機以後,一個Worker能夠成爲Masterphp
一、ZooKeeper集羣,採用上一篇文章搭建的環境 搭建環境
二、啓動3個客戶端,鏈接到ZooKeeper集羣,模擬Master和Worker。ide
一、第一個客戶端建立臨時節點master,並帶上本身的端口號,表示本身是Master測試
create -e /master 'master:2222'
二、建立一個非臨時節點目錄workers,用於存放worker節點,必須是非臨時節點,臨時節點不能有子節點。ui
三、master節點要監控workers節點。3d
四、第二個客戶端,也嘗試建立master,會失敗。code
五、第二個客戶端,建立Worker節點w1,成爲Worker,並監聽Masterblog
六、第三個客戶端,同理建立w2,也監聽Masterget
七、此時workers目錄下已經有2個worker節點。it
八、當Master宕機後(這裏採用quit命令模擬宕機),worker能夠收到通知,其中一個能夠刪掉本身的worker節點,去建立master節點,成爲masterast
注意:上面master監聽workers目錄下全部worker節點,請使用命令
ls2 /workers -w
stat測試的時候發現,當workers目錄下節點變化時,master沒法收到通知。