Zookeeper - 应用程序


Zookeeper为分布式环境提供了灵活的协调基础设施。ZooKeeper 框架支持当今许多最好的工业应用程序。我们将在本章中讨论 ZooKeeper 的一些最著名的应用程序。

雅虎!

ZooKeeper 框架最初是在“Yahoo!”构建的。一个设计良好的分布式应用程序需要满足数据透明、更好的性能、健壮性、集中配置和协调等要求。因此,他们设计了ZooKeeper框架来满足这些需求。

阿帕奇Hadoop

Apache Hadoop 是大数据行业增长的驱动力。Hadoop 依赖 ZooKeeper 进行配置管理和协调。让我们通过一个场景来了解ZooKeeper在Hadoop中的作用。

假设Hadoop 集群桥接100 台或更多商用服务器。因此,需要协调和命名服务。由于涉及大量节点的计算,每个节点需要相互同步,知道从哪里访问服务,并知道如何配置它们。此时,Hadoop集群需要跨节点服务。ZooKeeper 提供跨节点同步的工具,并确保跨 Hadoop 项目的任务被序列化和同步。

多个 ZooKeeper 服务器支持大型 Hadoop 集群。每台客户端计算机都与其中一台 ZooKeeper 服务器通信,以检索和更新其同步信息。一些实时示例是 -

  • 人类基因组计划- 人类基因组计划包含数 TB 的数据。Hadoop MapReduce 框架可用于分析数据集并发现人类发展的有趣事实。

  • 医疗保健- 医院可以存储、检索和分析大量患者医疗记录,这些记录通常以 TB 为单位。

阿帕奇HBase

Apache HBase 是一个开源、分布式、NoSQL 数据库,用于大型数据集的实时读/写访问,并运行在 HDFS 之上。HBase遵循主从架构,其中HBase Master管理所有从机。从属服务器称为区域服务器

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 的一些用例包括电子商务、求职等。