ZooKeeper 应用

  • 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主设备管理所有从设备。从库称为“区域服务器”。 HBase分布式应用程序的安装取决于正在运行的ZooKeeper群集。Apache HBase使用ZooKeeper在集中式配置管理和分布式互斥机制的帮助下跟踪整个主服务器和区域服务器中的分布式数据状态。这是HBase的一些用例-
    • 电信 -电信行业存储数十亿个移动电话记录(约30TB/月),实时访问这些电话记录成为一项艰巨的任务。HBase可用于实时,轻松,高效地处理所有记录。
    • 社交网络 -与电信行业类似,Twitter,LinkedIn和Facebook等网站通过用户创建的帖子接收大量数据。HBase可用于查找最新趋势和其他有趣的事实。
  • Apache Solr

    Apache Solr是一个用Java编写的快速,开放源代码搜索平台。它是一种快速,容错的分布式搜索引擎。它建立在Lucene之上,是一个高性能的全功能文本搜索引擎。
    Solr广泛使用ZooKeeper的所有功能,例如配置管理,领导者选举,节点管理,数据锁定和同步。
    Solr有两个不同的部分,即索引编制和搜索。索引编制是以正确的格式存储数据以便以后可以搜索的过程。Solr使用ZooKeeper来为多个节点中的数据建立索引并从多个节点中进行搜索。ZooKeeper提供以下功能-
    • 根据需要添加/删除节点
    • 在节点之间复制数据,从而最大程度地减少数据丢失
    • 在多个节点之间共享数据,然后从多个节点搜索以获得更快的搜索结果
    • Apache Solr的一些用例包括电子商务,求职等。