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实现用例包括电子商务,求职等。