开发学院,分享开发教程和最新动态

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 MapReduce框架可用于分析数据集,并为人类发展找到有趣的事实。

  医疗保健——医院可以存储、检索和分析大量患者病历,通常以万亿字节为单位。

Apache HBase

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

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

  电信——电信行业存储数十亿条移动电话记录(约30TB/月),实时访问这些电话记录成为一项艰巨的任务。HBase可用于实时、简便、高效地处理所有记录。

  社交网络——类似于电信业,推特、领英和脸书等网站通过用户发布的帖子接收大量数据。HBase可以用来发现最近的趋势和其他有趣的事实。

Apache Solr

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

  Solr广泛使用ZooKeeper的每个特性,如配置管理、领导者选举、节点管理、数据锁定和同步。

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

  根据需要添加/删除节点

  在节点之间复制数据,随后将数据丢失降至最低

  在多个节点之间共享数据,并随后从多个节点搜索以获得更快的搜索结果

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