这篇文章上次修改于 2044 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

zookeeper是一个开源的分布式协同服务系统。zookeeper的设计目标是将那些复杂且容易出错的分布式协同服务封装起来,抽象出一个高效可靠的原语集,并以一系列简单的接口提供给用户使用。比如分布式锁,leader选举

1.zookeeper起源—-雅虎研究院一个小组,发现好多内部系统都需要依赖一个系统来进行协同。但是这样的协同系统往往存在单点问题。所以雅虎研究院就开发了一个通用的无单点问题的分布式协同服务系统,这就是zookeeper。zookeeper被著名开源项目使用:

  • hadoop ,使用zookeeper做 name node 的高可用
  • hbase ,保证集群中只有一个master,保存集群中的region server 列表,保存hbase:meta表的位置
  • kafka:集群成员管理,controller节点选举
  1. zookeeper 的应用场景
  • 配置管理
  • DNS服务
  • 组成员管理
  • 各种分布式锁
    注意zookeeper适用于存储和协同相关的关键数据,不适合用于大数据量存储