初識Zookeeper

Zookeeper簡介

????????>開源的針對大型分布式系統(tǒng)可靠協(xié)調系統(tǒng)

????????> 設計目標:將復雜且容易出錯的分布式一致性服務封裝起來,構成一個高效可靠的原語集,并以簡單易用的接口提供給用戶使用。

? ? ? ? >功能:發(fā)布/訂閱,分布式協(xié)調/通知,配置管理,集群管理,主從協(xié)調,分布式鎖等。

Zookeeper特性:

????????最終一致性:保證最終數(shù)據能夠達到一致。(重要功能)

? ? ? ? 順序性:從同一個客戶端發(fā)起的事務請求,最終會嚴格地按照其發(fā)送順序被應用到Zookeeper中。

????????可靠性:一旦服務器成功的應用一個事務,并完成了客戶端的響應,那么該服務所引起的服務端狀態(tài)變更將會被一直保留下去。

????????實時性:Zookeeper不能保證兩個客戶端能同時得到剛更新的數(shù)據,如果需要最新數(shù)據,應該在讀數(shù)據之前調用sync()接口。

????????原子性:一次數(shù)據更新要么成功,要么失敗。

????????單一視圖:無論客戶端連接到哪個服務器,看到的數(shù)據模型都是一致的。

基本架構:


Zookeeper角色:

? ? ? ? Leader(領導者)

? ??????Follower(跟隨者)

? ??????Observer(觀察者)

選舉方式(分兩種)全新啟動期和運行期間

全新啟動期:

運行期間:(更正步驟2改為(3,123)

數(shù)據模型Znode

? ? ? ? Zookeeper特有數(shù)據節(jié)點Znode,視圖類似于linux的文件系統(tǒng),是系統(tǒng)中最小的數(shù)據單元。并且可以保存數(shù)據,通過掛在子節(jié)點構成數(shù)狀層次化空間

節(jié)點類型

? ? ? ? 節(jié)點有三種:

????????????????????????持久節(jié)點 ? ? ? 臨時節(jié)點 ? ? ?順序節(jié)點

? ? ? ? 組合節(jié)點類型:

? ? ? ? ? ? ? ??????????持久節(jié)點

????????????????????????持久順序節(jié)點

????????????????????????臨時節(jié)點

? ? ? ? ? ? ? ? ? ? ? ? 臨時順序節(jié)點

搭建中遇到的問題

? ? ? ? 1、軟連接創(chuàng)建之后使用ll查看存在閃爍情況,檢查路徑后使用rm移除錯誤的連接重新創(chuàng)建解決問題。

? ? ? ? 2、創(chuàng)建完成后,在三臺機器上面啟動zookeeper,使用status查看提示進程未啟動,檢查了防火墻狀態(tài)。查看日志發(fā)現(xiàn)報錯大意是myid=5的zookeeper并未啟動,原因是因為在zoo.cfg中寫入了5臺server。在所有機器的進程都啟動后,發(fā)現(xiàn)只有1,2,4,5能查看到當前角色。進入node03,查看啟動日志,發(fā)現(xiàn)myid手誤打成了33,更正后重新啟動,所有節(jié)點都能正確查看到角色。

? ? ? ? ? ? 問題排除建議:檢查防火墻,檢查myid是否正確創(chuàng)建。遇到問題查看日志,里面或許存在蛛絲馬跡。

?未完待續(xù)....

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容