Zookeeper - 应用程序
Zookeeper 为分布式环境提供了灵活的协调基础设施。 ZooKeeper 框架支持许多当今最好的工业应用程序。 我们将在本章中讨论 ZooKeeper 的一些最著名的应用。
Yahoo!
ZooKeeper 框架最初是在"Yahoo!"构建的。 设计良好的分布式应用程序需要满足数据透明性、更好的性能、稳健性、集中配置和协调等要求。 因此,他们设计了 ZooKeeper 框架来满足这些要求。
Apache Hadoop
Apache Hadoop 是大数据行业发展的驱动力。 Hadoop 依赖 ZooKeeper 进行配置管理和协调。 让我们通过一个场景来了解 ZooKeeper 在 Hadoop 中的作用。
假设一个 Hadoop 集群 桥接 100 台或更多的商品服务器。 因此,需要协调和命名服务。 由于涉及到大量节点的计算,每个节点需要相互同步,知道从哪里访问服务,知道应该如何配置它们。 这个时候,Hadoop 集群需要跨节点服务。 ZooKeeper 为跨节点同步提供了便利,并确保跨 Hadoop 项目的任务被序列化和同步。
多个 ZooKeeper 服务器支持大型 Hadoop 集群。 每台客户端机器都与其中一个 ZooKeeper 服务器进行通信,以检索和更新其同步信息。 以下是 Hadoop 一些用例 −
人类基因组计划 − 人类基因组计划包含数 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 的一些用例包括电子商务、工作搜索等。