先新增一台zookeeper機器同步資料,然後關閉原先的機器
1.資料發布訂閱,2.統一命令服務 3.分布式通知與協調 4.分布式鎖 5.集群監控
6.分布式佇列 7.master選舉
集群容災數量=集群總節點數/2 -1,假設5臺,最多可以掛2臺,如果掛三颱,集群選舉達不到滿足條件,6臺的話也是最多掛兩台,掛三颱超過半數
檔案系統,通知機制
zab協議是分布式協調服務zookeeper專門設計一種支援崩潰恢復的原子廣播協議
zab協議包括兩個基本模式,崩潰恢復和訊息廣播
當整個zookeeper集群剛剛啟動或者leader伺服器宕機,重啟或者網路故障導致不存在過半伺服器與leader保持正常通訊時,所有程序(伺服器)進入崩潰恢復模式,首先選舉產生新的leader伺服器,然後集群中follower伺服器開始於新的leader伺服器進行資料同步,當集群中超過半數機器與該leader伺服器完成資料同步之後,由恢復模式進入訊息廣播模式,leader伺服器開始接受客戶端事務提案進行事務請求
persist持久節點(手動刪除)
ephemeral臨時節點(與客戶端會話相關聯)
persistent_sequential 持久順序節點(手動刪除,增加順序屬性,節點名後會追加乙個由父節點維護的自增整數型數字)
ephemeral_sequential 臨時順序節點(客戶端會話相聯,節點名後會追加乙個由父節點維護的自增整數型數字)
zookeeper允許客戶端向服務端的某個znode註冊乙個watcher監聽,當服務端的一些指定事件觸發了這個watcher,服務端向指定客戶端發生乙個事件實現分布式通知功能,然後客戶端根據watcher通知狀態和事件型別做出業務上改變
1.leader 事務請求的唯一排程和處理者,保證集群事務處理的順序性,集群內部各服務的排程者
2.follower
處理客戶端的非事務請求,**事務請求給leader伺服器,參與事務請求proposal的投票,參與leader選舉投票
3.observer 在不影響集群事務處理能力基礎上提公升集群非事務處理能力,**給leader
looking:尋找leader,當伺服器處於該狀態,集群中無leader
following:跟隨者,表名當前角色是follower
leading:領導者狀態,表名當前伺服器角色是leader
observing:觀察者狀態,表明當前伺服器角色observer
zookeeper採用了全域性遞增的事務id來標識,所有的proposal(提議)都在被提出時候加上了zxid,實際上是乙個64位數字,高 32 位是 epoch 用來標識 leader 週期,如果有新的 leader 產生出來,epoch 會自增,低 32 位用來遞增計數。當新產生 proposal 的時候,會依據資料庫的兩階段過程,首先會向其他的 server 發出事務執行請求,如果超過半數的機器都能執行並且能夠成功,那麼就會開始執行
在分布式環境中,有些業務邏輯只需要集群中一台機器進行執行,其他的機器可以共享
這個結果,這樣可以大大減少重複計算,提高效能,於是就需要進行 leader 選舉
Zookeeper面試題集錦
目錄 一 什麼是zookeeper?二 zookeeper保證的是哪些特性?三 zookeeper的讀寫原理?四 怎麼解釋zookeeper的有序性?五 zookeeper提供了什麼?六 zookeeper的檔案系統是什麼?七 zab協議是什麼?八 zookeeper包含哪幾種型別的資料節點?九 z...
Zookeeper 問題集錦 Sucha
在linux中配置datadir和datalogdir時候的路徑問題 datadir data 無效,會造成儲存路徑問題,windows系統忽略 datalogdir log 無效,會造成儲存路徑問題,windows系統忽略 正確配置 datadir opt zookeeper apache zoo...
Oracle面試集錦
oracle 面試題集錦 技術篇 1.解釋冷備份和熱備份的不同點以及各自的優點 解答 熱備份針對歸檔模式的資料庫,在資料庫仍舊處於工作狀態時進行備份。而冷備份指在資料庫關閉後,進行備份,適用於所有模式的資料庫。熱備份的優點在於當備份時,資料庫仍舊可以被使用並且可以將資料庫恢復到任意乙個時間點。冷備份...