Zookeeper為分布式環(huán)境提供靈活的協(xié)調(diào)基礎(chǔ)架構(gòu)。ZooKeeper框架支持許多當(dāng)今最好的工業(yè)應(yīng)用程序。我們將在本章中討論ZooKeeper的一些最顯著的應(yīng)用。
ZooKeeper框架最初是在“Yahoo!”中構(gòu)建的。設(shè)計良好的分布式應(yīng)用程序需要滿足諸如數(shù)據(jù)透明度,更好的性能,穩(wěn)健性,集中配置和協(xié)調(diào)等要求。所以,他們設(shè)計了ZooKeeper框架來滿足這些要求。
Apache Hadoop是大數(shù)據(jù)行業(yè)發(fā)展的推動力。Hadoop依靠ZooKeeper進行配置管理和協(xié)調(diào)。讓我們來了解一下ZooKeeper在Hadoop中的作用。
假設(shè) Hadoop集群 橋接100個或更多的商品服務(wù)器。那么,就需要協(xié)調(diào)和命名服務(wù)。因此涉及大量節(jié)點的計算,每個節(jié)點需要彼此同步,知道在哪里訪問服務(wù)器,以及知道如何配置它們。在這個時間點,Hadoop集群需要跨節(jié)點服務(wù)器。ZooKeeper提供跨節(jié)點同步的功能,并確保跨越Hadoop項目的任務(wù)被序列化和同步化。
多個ZooKeeper服務(wù)器支持大型Hadoop集群。每個客戶端機器與ZooKeeper服務(wù)器之一通信以檢索和更新其同步信息。一些實時示例如下:
人類基因組計劃 - 人類基因組計劃包含兆兆字節(jié)數(shù)據(jù)。Hadoop MapReduce框架可用于分析數(shù)據(jù)集并為人類發(fā)展找到有趣的事實。
醫(yī)療保健 - 醫(yī)院可以存儲,檢索和分析大量患者醫(yī)療記錄,通常為兆兆字節(jié)。
Apache HBase是一個開源的,分布式的NoSQL數(shù)據(jù)庫,用于大型數(shù)據(jù)集的實時讀/寫訪問,并在HDFS上運行。HBase遵循主從架構(gòu),HBase主控制所有從機。從機稱為區(qū)域服務(wù)器。
HBase分布式應(yīng)用程序安裝取決于運行的ZooKeeper集群。Apache HBase使用ZooKeeper通過集中式配置管理和分布式互斥機制來幫助主機和區(qū)域服務(wù)器跟蹤分布式數(shù)據(jù)的狀態(tài)。以下是一些HBase的用例:
電信 - 電信行業(yè)存儲數(shù)十億條移動通話記錄(約30TB/月),實時訪問這些通話記錄成為一項巨大的任務(wù)。HBase可以用來實時,輕松,高效地處理所有記錄。
社交網(wǎng)絡(luò) - 與電信行業(yè)類似,Twitter,LinkedIn和Facebook等網(wǎng)站通過用戶創(chuàng)建的帖子接收大量數(shù)據(jù)。HBase可以用來查找最近的趨勢和其他有趣的事實。
Apache Solr是一個用Java編寫的快速,開源的搜索平臺。它是一個快速,容錯的分布式搜索引擎。建立在 Lucene 之上,是一個高性能,全功能的文本搜索引擎。
Solr廣泛使用ZooKeeper的每個功能,如配置管理,leader選舉,節(jié)點管理,數(shù)據(jù)鎖定和同步化。
Solr有兩個不同的部分,索引和搜索。索引是以適當(dāng)格式存儲數(shù)據(jù)以便后續(xù)可以搜索的過程。Solr使用ZooKeeper對多個節(jié)點中的數(shù)據(jù)進行索引和搜索。ZooKeeper提供以下功能:
根據(jù)需要添加/刪除節(jié)點
在節(jié)點之間復(fù)制數(shù)據(jù),隨后最小化數(shù)據(jù)丟失
在多個節(jié)點之間共享數(shù)據(jù),隨后從多個節(jié)點搜索以獲得更快的搜索結(jié)果
Apache Solr的一些用例包括電子商務(wù),求職搜索等。
更多建議: