項目4 Zookeeper分布式協調服務_第1頁
項目4 Zookeeper分布式協調服務_第2頁
項目4 Zookeeper分布式協調服務_第3頁
項目4 Zookeeper分布式協調服務_第4頁
項目4 Zookeeper分布式協調服務_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Hadoop大數據技術——Zookeeper分布式協調服務湖南軟件職業技術大學Zookeeper架構設計與工作原理Zookeeper是什么定義:zookeeper一個分布式的開源的協調服務框架,服務于分布式應用。它暴露了一系列的原語操作服務,因此分布式應用能夠基于這些服務,構建出更高級別的服務,比如同步,配置管理,分組和命名服務。zookeeper設計上易于編碼,數據模型構建在我們熟悉的樹形結構目錄風格的文件系統中。zookeeper運行在Java中,同時支持Java和C語言。湖南軟件職業技術大學Zookeeper的特點最終一致性客戶端不論連接到哪個Server,展示給它的都是同一個視圖,這是Zookeeper最重要的特點。可靠性Zookeeper具有簡單、健壯、良好的性能。如果一條消息被一臺服務器接收,那么它將被所有的服務器接收。實時性Zookeeper保證客戶端將在一個時間間隔范圍內,獲得服務器的更新信息或者服務器失效的信息。但由于網絡延時等原因,Zookeeper不能保證兩個客戶端能同時得到剛更新的數據,如果需要最新數據,應該在讀數據之前調用sync()接口。等待無關(wait-free)慢的或者失效的客戶端不得干預快速的客戶端的請求,這就使得每個客戶端都能有效地等待。湖南軟件職業技術大學Zookeeper的特點原子性對Zookeeper的更新操作要么成功,要么失敗,沒有中間狀態。順序性它包括全局有序和偏序兩種。全局有序是針對服務器端,例如,在一臺服務器上,消息A在消息B前發布,那么所有服務器上的消息A都將在消息B前被發布。偏序是針對客戶端,例如,在同一個客戶端中,消息B在消息A后發布,那么執行的順序必將是先執行消息A然后在是消息B。所有的更新操作都有嚴格的偏序關系,更新操作都是串行執行的,這一點是保證ZooKeeper功能正確性的關鍵。湖南軟件職業技術大學Zookeeper的基本架構與工作原理Zookeeper服務自身組成一個集群(2n+1個服務節點最多允許n個失效)。Zookeeper服務有兩個角色:一個是主節點(Leader),負責投票的發起和決議,更新系統狀態;另一種是從節點(Follower),用于接收客戶端請求并向客戶端返回結果,在選主過程(即選擇主節點的過程)中參與投票。主節點失效后,會在從節點中重新選舉新的主節點。湖南軟件職業技術大學Zookeeper數據模型zookeeper的數據結構與linux文件系統很類似,與Linux中的文件系統路徑不同,Zookeeper中的路徑必須是絕對路徑,而且每條路徑只有唯一的一種表示方式(/app1/p_3)。湖南軟件職業技術大學Zookeeper數據模型Znode節點特性臨時節點znode節點有兩種:臨時節點和持久節點。Znode的類型在創建時就確定,之后不能修改。當創建臨時節點的客戶端會話結束時,Zookeeper會將該臨時節點刪除。而持久節點不依賴與客戶端會話,只有當客戶端明確要刪除該持久節點時才會被真正刪除。臨時節點不可以有子節點,即使是短暫的子節點。順序節點順序節點是指名稱中包含Zookeeper指定順序號的znode。如果在創建znode的時候設置了順序標識,那么該znode名稱之后就會附加一個值,這個值是由一個單調遞增的計數器所添加的,由父節點維護。湖南軟件職業技術大學Zookeeper數據模型觀察機制客戶端可以在znode上設置watcher,當節點狀態發生改變時將會觸發watcher所對應的操作。當watcher被觸發時,ZooKeeper將會向客戶端發送且僅發送一條通知,因為watcher只能被觸發一次,這樣可以減少網絡流量。為了能夠多次收到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論