Zookeeper 应用程序

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


Yahoo!

ZooKeeper 框架最初是在“**Yahoo!**”上构建的。 一个设计良好的分布式应用程序需要满足数据透明、更好的性能、健壮性、集中配置和协调等要求。 因此,他们设计了 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 Master 管理所有 slaves。 从站称为区域服务器。

HBase 分布式应用程序安装依赖于正在运行的 ZooKeeper 集群。 Apache HBase 使用 ZooKeeper 在集中配置管理和分布式互斥机制的帮助下跟踪整个主服务器和区域服务器的分布式数据状态。 以下是 HBase 的一些用例

  • 电信 − 电信行业存储了数十亿条移动通话记录(约 30TB/月),实时访问这些通话记录成为一项艰巨的任务。 HBase可用于实时、轻松、高效地处理所有记录。
  • 社交网络 - 与电信行业类似,Twitter、LinkedIn 和 Facebook 等网站通过用户创建的帖子接收大量数据。 HBase 可用于查找最近的趋势和其他有趣的事实。

Apache Solr

Apache Solr 是一个用 Java 编写的快速开源搜索平台。 它是一个超快的、容错的分布式搜索引擎。 它建立在 Lucene 之上,是一个高性能、全功能的文本搜索引擎。

Solr 广泛使用了 ZooKeeper 的每个功能,例如配置管理、Leader 选举、节点管理、锁定和数据同步。

Solr 有两个不同的部分,索引和搜索。 索引是一个以适当的格式存储数据以便以后可以搜索的过程。 Solr 使用 ZooKeeper 为多个节点中的数据建立索引并从多个节点进行搜索。 ZooKeeper 提供以下功能

  • 在需要时添加/删除节点
  • 在节点之间复制数据并随后最大限度地减少数据丢失
  • 在多个节点之间共享数据,随后从多个节点进行搜索以获得更快的搜索结果

Apache Solr 的一些用例包括电子商务、求职等。

查看笔记

扫码一下
查看教程更方便