Zookeeper 1、Zookeeper 定義與工作原理


1、什么是Zookeeper

  » Zookeeper 是 Google 的 Chubby一個開源的實現,是 Hadoop 的分布式協調服務

  » 它包含一個簡單的原語集,分布式應用程序可以基於它實現同步服務,配置維護和命名服務等

2、為什么要用Zookeeper 

  » 大部分分布式應用需要一個主控、協調器或控制器來管理物理分布的子進程(如資源、任務分配等)
  » 目前,大部分應用需要開發私有的協調程序,缺乏一個通用的機制
  » 協調程序的反復編寫浪費,且難以形成通用、伸縮性好的協調器
  » Keepalived:提供通用的分布式鎖服務,用以協調分布式應用但是:
    • Keepalived監控節點不好管理
    • Keepalive 采用優先級監控
    • 沒有協同工作
    • 功能單一
    • Keepalive可擴展性差

3、Zookeeper的優點

    

4、Zookeeper的工作原理 

  1.每個Server在內存中存儲了一份數據;
  2.Zookeeper啟動時,將從實例中選舉一個leader(Paxos協議)
  3.Leader負責處理數據更新等操作
  4.一個更新操作成功,當且僅當大多數Server在內存中成功修改數據。

    

5、Zookeeper能做什么 

  » Hadoop,使用Zookeeper的事件處理確保整個集群只有一個NameNode,存儲配置信息等.
  » HBase,使用Zookeeper的事件處理確保整個集群只有一個HMaster,察覺HRegionServer聯機和宕機,存儲訪問控制列表等.

  ...

6、Zookeeper的特性

  » Zookeeper是簡單的
  » Zookeeper是富有表現力的
  » Zookeeper具有高可用性
  » Zookeeper采用松耦合交互方式
  » Zookeeper是一個資源庫


免責聲明!

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



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