互联网服务ZooKeeper

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

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

参与6

2同行回答

yinxinyinxin  项目经理 , 某金融机构
zookeeper功能非常强大,可以实现诸如分布式应用配置管理、统一命名服务、状态同步服务、集群管理等功能,我们这里拿比较简单的分布式应用配置管理为例来说明。假设我们的程序是分布式部署在多台机器上,如果我们要改变程序的配置文件,需要逐台机器去修改,非常麻烦,现在把这些配...显示全部

zookeeper功能非常强大,可以实现诸如分布式应用配置管理、统一命名服务、状态同步服务、集群管理等功能,我们这里拿比较简单的分布式应用配置管理为例来说明。

假设我们的程序是分布式部署在多台机器上,如果我们要改变程序的配置文件,需要逐台机器去修改,非常麻烦,现在把这些配置全部放到zookeeper上去,保存在 zookeeper 的某个目录节点中,然后所有相关应用程序对这个目录节点进行监听,一旦配置信息发生变化,每个应用程序就会收到 zookeeper 的通知,然后从 zookeeper 获取新的配置信息应用到系统中。

收起
银行 · 2019-11-04
浏览2143
wkkwkk  系统运维工程师 , 日志易
zookeeper是一个分布式协调框架,一般用zookeeper来实现发现服务(类似DNS,一些公司微服务用这个)、配置管理、分布式锁、leader选举等。zookeeper大致实现原理:         1、集群分三种角色:Leader、Follower和Observer。其中Leader和Follower参与投票,Observer只会“听...显示全部

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
浏览2125

提问者

HelloWorDomain
其它保密
擅长领域: 服务器中间件数据库

相关问题

相关资料

问题状态

  • 发布时间:2019-11-02
  • 关注会员:3 人
  • 问题浏览:3767
  • 最近回答:2019-11-13
  • X社区推广