Zookeeper为分布式环境提供灵活的协调基础架构。ZooKeeper框架支持许多当今最好的工业应用程序。咱们将在本章中讨论ZooKeeper的一些最显着的应用。数据库
ZooKeeper框架最初是在“Yahoo!”中构建的。设计良好的分布式应用程序须要知足诸如数据透明度,更好的性能,稳健性,集中配置和协调等要求。因此,他们设计了ZooKeeper框架来知足这些要求。服务器
Apache Hadoop是大数据行业发展的推进力。Hadoop依靠ZooKeeper进行配置管理和协调。让咱们来了解一下ZooKeeper在Hadoop中的做用。网络
假设 Hadoop集群 桥接100个或更多的商品服务器。那么,就须要协调和命名服务。所以涉及大量节点的计算,每一个节点须要彼此同步,知道在哪里访问服务器,以及知道如何配置它们。在这个时间点,Hadoop集群须要跨节点服务器。ZooKeeper提供跨节点同步的功能,并确保跨越Hadoop项目的任务被序列化和同步化。架构
多个ZooKeeper服务器支持大型Hadoop集群。每一个客户端机器与ZooKeeper服务器之一通讯以检索和更新其同步信息。一些实时示例以下:框架
人类基因组计划 - 人类基因组计划包含兆兆字节数据。Hadoop MapReduce框架可用于分析数据集并为人类发展找到有趣的事实。分布式
医疗保健 - 医院能够存储,检索和分析大量患者医疗记录,一般为兆兆字节。oop
Apache HBase是一个开源的,分布式的NoSQL数据库,用于大型数据集的实时读/写访问,并在HDFS上运行。HBase遵循主从架构,HBase主控制全部从机。从机称为区域服务器。性能
HBase分布式应用程序安装取决于运行的ZooKeeper集群。Apache HBase使用ZooKeeper经过集中式配置管理和分布式互斥机制来帮助主机和区域服务器跟踪分布式数据的状态。如下是一些HBase的用例:大数据
电信 - 电信行业存储数十亿条移动通话记录(约30TB/月),实时访问这些通话记录成为一项巨大的任务。HBase能够用来实时,轻松,高效地处理全部记录。网站
社交网络 - 与电信行业相似,Twitter,LinkedIn和Facebook等网站经过用户建立的帖子接收大量数据。HBase能够用来查找最近的趋势和其余有趣的事实。
Apache Solr是一个用Java编写的快速,开源的搜索平台。它是一个快速,容错的分布式搜索引擎。创建在 Lucene 之上,是一个高性能,全功能的文本搜索引擎。
Solr普遍使用ZooKeeper的每一个功能,如配置管理,leader选举,节点管理,数据锁定和同步化。
Solr有两个不一样的部分,索引和搜索。索引是以适当格式存储数据以便后续能够搜索的过程。Solr使用ZooKeeper对多个节点中的数据进行索引和搜索。ZooKeeper提供如下功能:
根据须要添加/删除节点
在节点之间复制数据,随后最小化数据丢失
在多个节点之间共享数据,随后从多个节点搜索以得到更快的搜索结果
Apache Solr的一些用例包括电子商务,求职搜索等。