Zookeeper 應用程序

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

雅虎

ZooKeeper框架最初是在「Yahoo!」中構建的。設計良好的分佈式應用程序須要知足諸如數據透明度,更好的性能,穩健性,集中配置和協調等要求。因此,他們設計了ZooKeeper框架來知足這些要求。服務器

Apache Hadoop

Apache Hadoop是大數據行業發展的推進力。Hadoop依靠ZooKeeper進行配置管理和協調。讓咱們來了解一下ZooKeeper在Hadoop中的做用。網絡

假設 Hadoop集羣 橋接100個或更多的商品服務器。那麼,就須要協調和命名服務。所以涉及大量節點的計算,每一個節點須要彼此同步,知道在哪裏訪問服務器,以及知道如何配置它們。在這個時間點,Hadoop集羣須要跨節點服務器。ZooKeeper提供跨節點同步的功能,並確保跨越Hadoop項目的任務被序列化和同步化。架構

多個ZooKeeper服務器支持大型Hadoop集羣。每一個客戶端機器與ZooKeeper服務器之一通訊以檢索和更新其同步信息。一些實時示例以下:框架

  • 人類基因組計劃 - 人類基因組計劃包含兆兆字節數據。Hadoop MapReduce框架可用於分析數據集併爲人類發展找到有趣的事實。分佈式

  • 醫療保健 - 醫院能夠存儲,檢索和分析大量患者醫療記錄,一般爲兆兆字節。oop

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的每一個功能,如配置管理,leader選舉,節點管理,數據鎖定和同步化。

Solr有兩個不一樣的部分,索引搜索。索引是以適當格式存儲數據以便後續能夠搜索的過程。Solr使用ZooKeeper對多個節點中的數據進行索引和搜索。ZooKeeper提供如下功能:

  • 根據須要添加/刪除節點

  • 在節點之間複製數據,隨後最小化數據丟失

  • 在多個節點之間共享數據,隨後從多個節點搜索以得到更快的搜索結果

Apache Solr的一些用例包括電子商務,求職搜索等。

相關文章
相關標籤/搜索