Zookeeper - 应用



Zookeeper 为分布式环境提供灵活的协调基础架构。ZooKeeper 框架支持许多当今最佳的工业应用。本章将讨论 ZooKeeper 的一些最值得关注的应用。

雅虎!

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 Master 管理所有从属节点。从属节点被称为区域服务器

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

广告