原文链接
什么是Zookeeper,Zookeeper的作用是什么,它与NameNode及HMaster如何协作?在没有接触Zookeeper的同学,或许会有这些疑问。这里给大家总结一下。

一、什么是Zookeeper

ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig)  的管理员, Apache Hbase和 Apache Solr 以及LinkedIn sensei  等项目中都采用到了 Zookeeper。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper是以Fast Paxos算法为基础,实现同步服务,配置维护和命名服务等分布式应用。

上面的解释感觉还不够,太官方了。Zookeeper 从程序员的角度来讲可以理解为Hadoop的整体监控系统。如果namenode,HMaster宕机后,这时候Zookeeper 的重新选出leader。这是它最大的作用所在。下面详细介绍zookeeper的作用

二、zookeeper的作用

1.Zookeeper加强集群稳定性
Zookeeper通过一种和文件系统很像的层级命名空间来让分布式进程互相协同工作。这些命名空间由一系列数据寄存器组成,我们也叫这些数据寄存器为znodes。这些znodes就有点像是文件系统中的文件和文件夹。和文件系统不一样的是,文件系统的文件是存储在存储区上的,而zookeeper的数据是存储在内存上的。同时,这就意味着zookeeper有着高吞吐和低延迟。

Zookeeper实现了高性能,高可靠性,和有序的访问。高性能保证了zookeeper能应用在大型的分布式系统上。高可靠性保证它不会由于单一节点的故障而造成任何问题。有序的访问能保证客户端可以实现较为复杂的同步操作。

2.Zookeeper加强集群持续性
ZooKeeper Service
<ignore_js_op>

组成Zookeeper的各个服务器必须要能相互通信。他们在内存中保存了服务器状态,也保存了操作的日志,并且持久化快照。只要大多数的服务器是可用的,那么Zookeeper就是可用的。

客户端连接到一个Zookeeper服务器,并且维持TCP连接。并且发送请求,获取回复,获取事件,并且发送连接信号。如果这个TCP连接断掉了,那么客户端可以连接另外一个服务器。

Zookeeper保证集群有序性
Zookeeper使用数字来对每一个更新进行标记。这样能保证Zookeeper交互的有序。后续的操作可以根据这个顺序实现诸如同步操作这样更高更抽象的服务。

Zookeeper保证集群高效
Zookeeper的高效更表现在以读为主的系统上。Zookeeper可以在千台服务器组成的读写比例大约为10:1的分布系统上表现优异。

数据结构和分等级的命名空间
Zookeeper的命名空间的结构和文件系统很像。一个名字和文件一样使用/的路径表现,zookeeper的每个节点都是被路径唯一标识

三、zookeeper在Hadoop及hbase中具体作用
Hadoop有NameNode,HBase有HMaster,为什么还需要zookeeper,下面给大家通过例子给大家介绍。
一个Zookeeper的集群中,3个Zookeeper节点.一个leader,两个follower的情况下,停掉leader,然后两个follower选举出一个leader.获取的数据不变.我想Zookeeper能够帮助Hadoop做到:

Hadoop,使用Zookeeper的事件处理确保整个集群只有一个NameNode,存储配置信息等.
HBase,使用Zookeeper的事件处理确保整个集群只有一个HMaster,察觉HRegionServer联机和宕机,存储访问控制列表等.

转载于:https://www.cnblogs.com/holdouts/articles/5833421.html

什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么相关推荐

  1. zookeeper在Hbase中的作用

    zk在Hbase中的作用 我们知道Hbase集群中主要组件有Hmaster,RegionServer 和 Zookeeper.Hbase强依赖于zk. 在HBase中,ZooKeeper在 Maste ...

  2. ZooKeeper 原理及其在 Hadoop 和 HBase 中的应用

    ZooKeeper 原理及其在 Hadoop 和 HBase 中的应用 - 文章 - 伯乐在线 /* # The number of milliseconds of each tick tickTim ...

  3. 桌面中计算机作用,云桌面技术在计算机机房管理中的作用研究

    林朝晖 摘   要:对于探讨云桌面技术在计算机机房管理中作用,文章首先分析云桌面技术的内涵和应用优势,然后分析云桌面技术在计算机机房管理中的作用,包括:设计思路作用.系统虚拟化软件和软件服务云的作用. ...

  4. php global 作用,PHP关键字global在定义变量中的作用_PHP教程

    我们在使用 PHP关键字global如果用在function内部,则说明这个function内用的这个变量是全局的,全局变量就是在整个页面里都能起作用.例如 $conf=1; function con ...

  5. python中括号的作用_Python3--中括号[]与冒号:在列表中的作用

    先来定义两个列表: liststr = ["helloworld","hahahh","123456"] listnum = [1,2,3, ...

  6. 高防服务器的重要性及其在互联网安全中的作用

    在当今互联网时代,互联网安全越来越成为人们关注的焦点.而高防服务器作为保障互联网安全的重要手段,已经成为越来越多企业和机构的必需品.本文将探讨高防服务器的重要性及其在互联网安全中的作用. 一.高防服务 ...

  7. Zookeeper在Dubbo中的作用及Zk集群的选举原理

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan Zk在Dubbo中的作用 zk在dubbo中是服务注册与发现的注册中心,dubbo的调用过程是c ...

  8. 终于知道了Zookeeper在hbase集群中的作用

    1.Hbase集群组件架构 Hbase集群主要的服务组件是Zookeeper,Hmaster和RegionServer.其中Hbase集群强依赖与Zookeeper提供的服务.为什么Hbase离不开Z ...

  9. 配置密码分布式集群环境hadoop、hbase、zookeeper搭建(全)

    新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 1.环境说明 群集环境少至要需3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以互相pin ...

最新文章

  1. 【待继续研究】解析机器学习技术在反欺诈领域的应用
  2. 重磅!SCI顶级牛刊《Science》合集(2018~2020年度)
  3. 不愧是Alibaba技术官,java数组实现单向链表
  4. 进程控制块包含的信息
  5. icmp协议介绍,type code 对应表
  6. hdu 2078 复习时间
  7. 楼板计算塑形弹性_柴油发电机机房设计标准及原则:机房接地选址、柴发容量计算书...
  8. 中国顶级AI盛会,10月魔都等你来解密!
  9. 第一次作业(构建之法8,16读后感)
  10. js中的fromCharCode() charCodeAt() charAt()
  11. [转载]计算机视觉专业名词中英文对照
  12. html页面图片可点击事件,html中如何给图片添加点击事件的详解
  13. php7.4 ffi,PHP7.4 全新扩展方式 FFI 详解
  14. 斐波那契数列(入门c语言)
  15. 拿到一份代码如何跑起来
  16. st58服务器装系统,联想 Thinksystem ST58服务器介绍
  17. 计算机插补,第三章计算机数控装置的插补原理.doc
  18. 华为路由器hilink怎么用_HUAWEI HiLink 两个华为路由器无线中继实测效果【图解】...
  19. git pull出现“fatal: refusing to merge unrelated histories“
  20. English trip EM2-MP4 Teacher:Taylor voiceless consonant 清辅音 voiced consonant 浊辅音

热门文章

  1. python界面开发-python 图形界面编程(GUI)
  2. python3入门书籍-Python学习路上不可或缺的3本书籍【经验分享】
  3. c与python的区别-c 跟 python的区别有哪些
  4. python turtle画熊-用Python Turtle 画可爱的熊猫
  5. 用python的turtle画圆-怎么用python画圆
  6. 学python需要什么文化基础-人工智能对人类有哪些影响 选择Python入门怎样
  7. python turtle画气球-使用python在mac上简单弹出气球消息
  8. vscode使用教程python-硬核教程:五步掌握用VSCode进行高效Python开发
  9. python推荐系统-RecQ-Python推荐系统框架
  10. ubuntu查看python版本-Ubuntu18.04下python版本完美切换的解决方法