Zookeeper 5、Zookeeper應用場景


應用場景1 、統一命名服務

  » 分布式應用中,通常需要有一套完整的命名規則,既能夠產生唯一的名稱又便於人識別和記住,通常情況
   下用樹形的名稱結構是一個理想的選擇,樹形的名稱結構是一個有層次的目錄結構,既對人友好又不會重復。
  » Name Service 是 Zookeeper 內置的功能,只要調用 Zookeeper 的 API 就能實現

應用場景2 、配置管理

  » 配置的管理在分布式應用環境中很常見,例如同一個應用系統需要多台 PC Server 運行,但是它們運行的應用系統的某些配置項是相同的,

   如果要修改這些相同的配置項,那么就必須同時修改每台運行這個應用系統的 PC Server,這樣非常麻煩而且容易出錯。

  » 將配置信息保存在 Zookeeper 的某個目錄節點中,然后將所有需要修改的應用機器監控配置信息的狀態,一旦配置信息發生變化,每台應用機器就會

   收到Zookeeper的通知,然后從 Zookeeper 獲取新的配置信息應用到系統中。

    

 

 

應用場景 3、集群管理 

  » Zookeeper 能夠很容易的實現集群管理的功能,如有多台 Server 組成一個服務集群,那么必須要一個“總管”知道當前集群中每台機器的服務狀態,

   一旦有機器不能提供服務,集群中其它集群必須知道,從而做出調整重新分配服務策略。同樣當增加集群的服務能力時,就會增加一台或多台 Server,

   同樣也必須讓“總管”知道。

  » Zookeeper 不僅能夠維護當前的集群中機器的服務狀態,而且能夠選出一個“總管”,讓這個總管來管理集群,這就是 Zookeeper 的另一個功能 LeaderElection

    

  » 規定編號最小的為master,所以當我們對SERVERS節點做監控的時候,得到服務器列表,只要所有集群機器邏輯認為最小編號節點為master,

   那么master就被選出,而這個master宕機的時候,相應的znode會消失,然后新的服務器列表就被推送到客戶端,然后每個節點邏輯認為最小編號節點為master,

   這樣就做到動態master選舉

總結

  » Zookeeper 作為 Hadoop 項目中的一個子項目,是Hadoop 集群管理的一個必不可少的模塊,它主要用來控制集群中的數據,如它管理 Hadoop

   集群中的NameNode,還有 Hbase 中 Master Election、Server 之間狀態同步等。

  » Zoopkeeper 提供了一套很好的分布式集群管理的機制,就是它這種基於層次型的目錄樹的數據結構,並對樹中的節點進行有效管理,從而可以設計出

   多種多樣的分布式的數據管理模型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM