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