Zookeeper應用

Zookeeper 爲分佈式環境靈活協調提供基礎架構。ZooKeeper框架支持許多當今許多工業應用。我們將在本章中討論一些 ZooKeeper 顯着的應用。

Yahoo!

ZooKeeper框架始建於「雅虎」。一個設計良好的分佈式應用需求,滿足需求,如數據的透明度,更好的性能,穩定性,集中配置和協調性。所以,他們設計了ZooKeeper框架來滿足這些要求。

Apache Hadoop

Apache Hadoop是大數據行業的增長背後的驅動力。Hadoop依賴ZooKeeper的配置管理和協調。讓我們舉一個場景來了解 ZooKeeper 在 Hadoop 中的作用。

假設一個Hadoop集羣橋接100以上的商用服務器。因此,有必要協調和命名這些服務器。由於大量節點的計算都參與其中,每個節點都需要互相同步,知道在哪裏獲得服務,並知道應該如何配置。在這個時間點上,Hadoop集羣需要跨節點服務。ZooKeeper提供了跨節點同步的設備,確保整個的Hadoop項目的任務是序列化和同步的。

多重ZooKeeper服務器支持大型 Hadoop 集羣。每個客戶機與 ZooKeeper 的其中一個服務器通信,以檢索和更新其同步信息。一些實時實例如下 -

  • 人類基因組計劃 − 人類基因組計劃中包含TB級別的數據。Hadoop的MapReduce框架可以用來分析數據集,並找到對人類發展有趣的事情。

  • 衛生保健 − 醫院可以存儲,檢索和分析大量套門診病歷,通常都在TB級。

Apache HBase

Apache HBase是一個開源的,分佈式的, 用於實時NoSQL數據庫讀取的大型數據集/寫訪問,並運行在HDFS之上。 HBase如下主從架構,HBase主管理所有的從服務。從服務被稱爲區域服務器。

HBase 分佈式應用程序的安裝取決於ZooKeeper運行的集羣。Apache HBase 使用ZooKeeper 與集中配置管理,分佈式互斥機制的幫助下跟蹤分佈式數據的整個主區域服務器的狀態。下面是一些HBase的用例 -

  • 電信業 − 電信業存儲數十億的手機通話記錄(大約30TB/月),訪問這些通話記錄實時成爲一項艱鉅的任務。HBase可用於所有記錄的實時處理,容易且有效。

  • 社交網絡 − 類似電信業,網站如Twitter,LinkedIn和Facebook通過用戶創建的帖子內容接收大量數據。HBase 可以用來找出最近的趨勢和其他有趣的事實。

Apache Solr

Apache Solr是用Java編寫實現快速,開源的搜索平臺。這是一個速度極快,容錯分佈式搜索引擎。建立在Lucene之上,它是一個高性能,全功能的文本搜索引擎。

Solr被廣泛使用在ZooKeeper的每一個功能,如配置管理,領導人選舉,節點管理,鎖定和數據的同步。

Solr有兩個不同的部分,索引和搜索。索引是將數據存儲在一個適當的格式,以便它可以在以後檢索處理。Solr使用ZooKeeper爲索引數據在多個節點,並從多個節點中搜索。ZooKeeper 分佈有以下特點-

  • 在需要的時候添加/刪除節點

  • 最小化數據丟失並隨後複製節點數據

  • 共享多個節點之間的數據,並從多個節點更快的搜索結果

一些Apache Solr實現用例包括電子商務,求職等。