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