zookeeper是大数据中不可或缺的一部分,它的主要作用是什么?

zookeeper 软件(动物管理员)是大数据中不可或缺的一部分。如何简单的阐述,zookeeper软件的作用是什么?大致的实现技术原理是什么。显示全部

zookeeper 软件(动物管理员)是大数据中不可或缺的一部分。
如何简单的阐述,zookeeper软件的作用是什么?
大致的实现技术原理是什么。

收起

查看其它 1 个回答wkk的回答

wkkwkk  系统运维工程师 , 日志易

zookeeper是一个分布式协调框架,一般用zookeeper来实现发现服务(类似DNS,一些公司微服务用这个)、配置管理、分布式锁、leader选举等。
zookeeper大致实现原理:
         1、集群分三种角色:Leader、Follower和Observer。其中Leader和Follower参与投票,Observer只会“听”投票结果,不会参与投票。
2、投票集群里的节点要求是奇数。
3、一个集群容忍挂掉的节点数为:N=2F+1,N为投票节点数,F为能同时容忍失败的节点数。比如一个三节点集群,即可以容忍挂掉一个节点;5节点集群,即可以容忍挂掉2个节点。
4、一个写操作需要半数以上的节点ACK,所以集群节点数越多,可以抗挂节点数越多,但相对应的吞吐率越差。
5、zookeeper里所有节点以及节点的数据都会存放在内存里,形成一棵树的数据结构,并定时dump snapshot到磁盘。
6、zookeeper的client和zookeeper之间维持的是长连接,并且保持心跳,client会与zookeeper之间协商出一个session超时时间,如果session在超时时间内没有收到心跳,则session过期。

 2019-11-13
浏览778

回答者

wkk系统运维工程师, 日志易

回答状态

  • 发布时间:2019-11-13
  • 关注会员:3 人
  • 回答浏览:778