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

雅虎

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可以用来实时,轻松,高效地处理所有记录。

  • 社交网络 - 与电信行业类似,Twitter,LinkedIn和Facebook等网站通过用户创建的帖子接收大量数据。HBase可以用来查找最近的趋势和其他有趣的事实。

Apache Solr

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

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

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

  • 根据需要添加/删除节点

  • 在节点之间复制数据,随后最小化数据丢失

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

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

最新文章

  1. FineUI(专业版)v2.6.0即将支持的两个新特性!
  2. js 的复制和引用 (传值和传址)
  3. IE的layout属性详解
  4. 基于Selenium的模拟浏览器采集
  5. JS扩展方法——字符串trim()
  6. jquery 温故而知新 animate动画的一些坑
  7. 实验室ip同步脚步
  8. Dan计划:重新定义人生的10000个小时
  9. 返回键 隐藏、、收起键盘textView|textField
  10. [Unity菜鸟] 射线
  11. iOS_SN_Xcode内存泄露调试
  12. webstorm下的sass自动编译和移动端自适应实践
  13. java关于map用来筛选的用法
  14. 通过 dhcp-agent 访问 Metadata - 每天5分钟玩转 OpenStack(168)
  15. es6 模板字变量和字符串占位符
  16. Friendly Date Ranges 让日期区间更友好
  17. Go语言编程读书笔记:Go channel(1)
  18. Android TextView自动换行、排列错乱问题及解决
  19. 批量获取oracle的表和表字段注释【原】
  20. MyTomcat(手写服务器)

热门文章

  1. New in 10.2.2: C++ and Debugger Improvements
  2. Single-stack real-time operating system for embedded systems
  3. SQLite介绍及使用
  4. MIPS之路在何方?
  5. Win8 Metro(C#)数字图像处理--2.55OSTU法图像二值化
  6. Python标准库(3.x): itertools库扫盲
  7. Win8MetroC#数字图像处理--2.1图像灰度化
  8. Android零基础入门第27节:正确使用padding和margin
  9. 核心思想:互联网创业十问?(大部分创业者是从学习借鉴成功者起步的,不需要把商业模式考虑完备,失败者没资格说趁着年轻...)4种失败的信号 good
  10. mysql 配置 explicit_defaults_for_timestamp