zookeeper中展示所有节点_zookeeper架构深入浅出

本文深入探讨Zookeeper在大数据系统中的应用,如HDFS/YARN的HA,Hbase的配置管理和任务发布,以及Kafka的配置管理。Zookeeper提供了数据结构、watch机制和节点类型等核心操作特性,确保分布式锁服务的实现。同时,文章介绍了Zookeeper的选举机制、读写操作以及CAP原则,揭示了其在一致性、可用性和扩展性之间的权衡。
摘要由CSDN通过智能技术生成

Zookeeper作为一个分布式协调系统提供了一项基本服务:分布式锁服务,分布式锁是分布式协调技术实现的核心内容。像配置管理、任务分发、组服务、分布式消息队列、分布式通知/协调等,这些应用实际上都是基于这项基础服务由用户自己摸索出来的。

1.Zookeeper在大数据系统中的常见应用

zookeeper作为分布式协调系统在大数据领域非常常用,它是一个很好的中心化管理工具。下面举几个常见的应用场景。

1.1.HDFS/YARNHA(分布式锁的应用):Master挂掉之后迅速切换到slave节点。

1.2.hbase

HA :同上。

配置管理 :client需要读写hbase的数据首先都是连到ZK读取root表,获得meta表所在的region,最后找到数据所在位置。

任务发布:regionserver挂了一台,master需要重新分配region,会把任务放在zookeeper等regionserver来获取

1.3.kafka

配置管理:broker会在zookeeper注册并保持相关的元数据(topic,partition信息等)更新

任务分配:给topic分配partitions和replication

2.Zookeeper有哪些操作特性

2.1.数据结构

ZooKeeper命名空间中的Znode,兼具文件和目录两种特点。既像文件一样维护着数据、元信息、ACL、时间戳等数据结构,又像目录一样可以作为路径标识的一部分。 每个Znode由3部分组成:stat状态信息:描述该Znode的版本, 权限等信息

data:与该Znode关联的数据(配置文件信息、状态信息、汇集位置),数据大小至多1M

children:该Znode下的子节点

ZooKeeper中的每个节点存储的数据要被原子性的操作。也就是说读操作将获取与节点相关的所有数据,写操作也将替换掉节点的所有数据。另外,每一个节点都拥有自己的ACL(访问控制列表),这个列表规定了用户的权限,即限定了特定用户对目标节点可以执行的操作。

2.2.watch机制

ZooKeeper可以为所有的读操作设置watch,包括:exists()、getChildren()及getData()。当节点状态发生改变时(Znode的增、删、改)将会触发watch所对应的操作。当watch被触发时,ZooKeeper将会向客户端发送且仅发送一条通知,因为watch只能被触发一次,这样可以减少网络流量。数据watch(data watches):getData和exists负责设置数据watch

孩子watch(child watches):getChildren负责设置孩子watch

2.3.节点类型

ZooKeeper中的节点有两种,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值