专栏首页丑胖侠Zookeeper客户端API之节点检查和权限控制(十一)

Zookeeper客户端API之节点检查和权限控制(十一)

本篇博客介绍一下原生API的节点检查是否存在和节点操作权限控制。Zookeeper提供的方法的使用方式与前面增删改查操作类似,具体使用案例不再逐一用实例说明。

节点检查是否存在

原生API的提供4个相应的方法,通过这些方法,可以检查节点是否存在,返回节点Stat信息,对节点进行注册监听事件等操作。

方法

public Stat exists(final String path, Watcher watcher)
public Stat exists(String path, boolean watch)
public void exists(final String path, Watcher watcher,
            StatCallback cb, Object ctx)
public void exists(String path, boolean watch, StatCallback cb, Object ctx)

参数说明

参数

说明

path

操作节点路径

watcher

注册Watcher,用于监听节点创建、节点删除、节点更新事件。

watch

是否使用默认watcher

cb

注册一个回调函数

ctx

传递上下文信息

其他说明

1、无论节点是否存在使用exists方法都可以进行监听注册。节点不存在时注册监听之后,当节点被创建则会通知客户端。 2、指定节点的子节点的变化不会通知客户端。

权限控制

在以前的实例中我们通过API创建的节点都是默认创建后可以随意操作。但在实际生产过程中,往往是多个应用使用同一套Zookeeper服务。而且,不同应用系统很少使用共同的数据,这时就需要通过权限来控制不同服务直接访问操作节点的权限。

Zookeeper提供了多种权限控制模式:world、auth、digest、ip和super。

创建完成会话之后,调用Zookeeper提供的addAuthInfo方法给会话操作添加权限,后续的其他操作都会添加此权限信息。此会话创建的节点,其他无权限的会话将无法操作,以此达到权限控制的目的。

特殊操作

其他操作都遵循上面所说的权限规则,唯独删除权限有所区别。 删除权限的作用范围为节点的子节点,即当对一个节点赋予权限之后,依然可以自由的删除此节点,但是此节点下面的子节点需要对应的权限才能够删除。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Zookeeper客户端API之修改删除节点(十)

    上篇博客《Zookeeper客户端API之读取子节点内容(九)》我们介绍了Zookeeper获得节点内容的方法使用,其中实例代码中已经用到了修改节点内容的方法。...

    程序新视界
  • Zookeeper开源客户端Curator之基本功能讲解

    简介 Curator是Netflix公司开源的一套Zookeeper客户端框架。了解过Zookeeper原生API都会清楚其复杂度。Curator帮助我们在其基...

    程序新视界
  • Zookeeper开源客户端Curator之事件监听详解

    Curator对Zookeeper典型场景之事件监听进行封装,提供了使用参考。这篇博文笔者带领大家了解一下Curator的实现方式。 引入依赖 对于Curato...

    程序新视界
  • GP 5.16.0 故障实验

    内容接上一篇文章(https://blog.51cto.com/lee90/2371858),本文的实验拓扑等各种架构都和上一篇一致。

    二狗不要跑
  • 如何给Hadoop集群划分角色

    温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproje...

    企鹅号小编
  • 【GNN】HAN:异构图注意力网络

    今天学习的是北京邮电大学石川老师组的论文《Heterogeneous Graph Attention Network》,发表于 WWW 2019。

    阿泽 Crz
  • Zookeeper系列(1) —— Zookeeper 的相关概述

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为...

    求和小熊猫
  • CDH离线安装文档

    准备工作 1, 配置hostname vi /etc/sysconfig/network 修改hostname: NETWORKING=yes ...

    shengjk1
  • 关于拜占庭问题及其分析

    拜占庭问题是容错计算中的一个老问题,有莱斯特兰伯特等人在1982年提出。拜占廷帝国为5-15世纪的东罗马帝国,拜占庭城邦拥有巨大的财富,令他的十个邻邦垂涎已久,...

    用户2909867
  • Cassandra集群删除宕机节点

    因为项目要处理大数据量的环境数据,所以我们采用了Cassandra集群的方式来存储我们的数据,但是前几天集群中有一台Cassandra突然崩掉了,报错原因如下:...

    萌萌哒的瓤瓤

扫码关注云+社区

领取腾讯云代金券