1. 程式人生 > >什麽是Apache ZooKeeper?

什麽是Apache ZooKeeper?

數據 apache 應用程序 mapr 分布式協調 條件 完全 失敗 服務器

Apache ZooKeeper是由集群(節點組)使用的一種服務,用於在自身之間協調,並通過穩健的同步技術維護共享數據。ZooKeeper本身是一個分布式應用程序,為寫入分布式應用程序提供服務。

ZooKeeper提供的常見服務如下 :

  • 命名服務 - 按名稱標識集群中的節點。它類似於DNS,但僅對於節點。

  • 配置管理 - 加入節點的最近的和最新的系統配置信息。

  • 集群管理 - 實時地在集群和節點狀態中加入/離開節點。

  • 選舉算法 - 選舉一個節點作為協調目的的leader。

  • 鎖定和同步服務 - 在修改數據的同時鎖定數據。此機制可幫助你在連接其他分布式應用程序(如Apache HBase)時進行自動故障恢復。

  • 高度可靠的數據註冊表 - 即使在一個或幾個節點關閉時也可以獲得數據。

分布式應用程序提供了很多好處,但它們也拋出了一些復雜和難以解決的挑戰。ZooKeeper框架提供了一個完整的機制來克服所有的挑戰。競爭條件和死鎖使用故障安全同步方法進行處理。另一個主要缺點是數據的不一致性,ZooKeeper使用原子性解析。

ZooKeeper的好處

以下是使用ZooKeeper的好處:

  • 簡單的分布式協調過程

  • 同步 - 服務器進程之間的相互排斥和協作。此過程有助於Apache HBase進行配置管理。

  • 有序的消息

  • 序列化 - 根據特定規則對數據進行編碼。確保應用程序運行一致。這種方法可以在MapReduce中用來協調隊列以執行運行的線程。

  • 可靠性

  • 原子性 - 數據轉移完全成功或完全失敗,但沒有事務是部分的。

什麽是Apache ZooKeeper?