Zookeeper - 應用



Zookeeper 為分散式環境提供靈活的協調基礎架構。ZooKeeper 框架支援許多當今最佳的工業應用。本章將討論 ZooKeeper 的一些最值得關注的應用。

雅虎!

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 Master 管理所有從屬節點。從屬節點被稱為區域伺服器

HBase 分散式應用程式的安裝依賴於正在執行的 ZooKeeper 叢集。Apache HBase 使用 ZooKeeper 透過集中式配置管理分散式互斥鎖機制來跟蹤主伺服器和區域伺服器之間分散式資料的狀態。以下是 HBase 的一些用例:

  • 電信 - 電信行業儲存數十億條移動呼叫記錄(約 30TB/月),即時訪問這些呼叫記錄成為一項巨大的任務。HBase 可用於輕鬆高效地即時處理所有記錄。

  • 社交網路 - 與電信行業類似,Twitter、LinkedIn 和 Facebook 等網站透過使用者建立的帖子接收大量資料。HBase 可用於查詢最近的趨勢和其他有趣的事實。

Apache Solr

Apache Solr 是一個用 Java 編寫的快速、開源的搜尋平臺。它是一個非常快速、容錯的分散式搜尋引擎。它建立在Lucene之上,是一個高效能、功能齊全的全文搜尋引擎。

Solr 廣泛使用 ZooKeeper 的每個功能,例如配置管理、Leader 選舉、節點管理、資料鎖定和同步。

Solr 具有兩個不同的部分,索引搜尋。索引是將資料儲存在適當格式的過程,以便以後可以搜尋。Solr 使用 ZooKeeper 來在多個節點上索引資料以及從多個節點進行搜尋。ZooKeeper 提供以下功能:

  • 根據需要新增/刪除節點

  • 節點之間的資料複製,從而最大限度地減少資料丟失

  • 多個節點之間的資料共享,從而從多個節點進行搜尋以獲得更快的搜尋結果

Apache Solr 的一些用例包括電子商務、職位搜尋等。

廣告
© . All rights reserved.