Zookeeper实例原生API--删除节点接口权限
来源:互联网 发布:武汉汉阳美工 编辑:程序博客网 时间:2024/05/21 05:37
import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.ZooDefs.Ids;import org.apache.zookeeper.ZooKeeper;/** * * @ClassName: AuthSample_Delete * @Description: TODO(删除节点的权限控制) * @author RongShu* @date 2017年6月11日 下午8:41:23 * */public class AuthSample_Delete { final static String PATH = "/zk-book-auth_test"; final static String PATH2 = "/zk-book-auth_test/child"; public static void main(String[] args) throws Exception { ZooKeeper zookeeper1 = new ZooKeeper("localhost:2181",5000,null); zookeeper1.addAuthInfo("digest", "foo:true".getBytes()); zookeeper1.create( PATH, "init".getBytes(), Ids.CREATOR_ALL_ACL, CreateMode.PERSISTENT ); zookeeper1.create( PATH2, "init".getBytes(), Ids.CREATOR_ALL_ACL, CreateMode.EPHEMERAL ); try {ZooKeeper zookeeper2 = new ZooKeeper("localhost:2181",50000,null);zookeeper2.delete( PATH2, -1 );} catch ( Exception e ) {System.out.println( "删除节点失败: " + e.getMessage() );} ZooKeeper zookeeper3 = new ZooKeeper("localhost:2181",50000,null); zookeeper3.addAuthInfo("digest", "foo:true".getBytes());zookeeper3.delete( PATH2, -1 ); System.out.println( "成功删除节点:" + PATH2 ); ZooKeeper zookeeper4 = new ZooKeeper("localhost:2181",50000,null);zookeeper4.delete( PATH, -1 ); System.out.println( "成功删除节点:" + PATH ); }}输出删除节点失败: KeeperErrorCode = NoAuth for /zk-book-auth_test/child成功删除节点:/zk-book-auth_test/child成功删除节点:/zk-book-auth_test
注意:
当客户端对一个数据节点添加了权限信息后,对于删除操作而言,其作用范围是其子节点,也就是说,当我们对一个数据节点添加权限信息之后,依然可以自由的删除这个节点,但是对于这个节点的子节点,就必须使用相应的权限信息才能够删掉它。
参考
1.《从Paxos到Zookeeper:分布式一致性原理与实践》
2. https://zookeeper.apache.org/doc/r3.5.3-beta/api/index.html
阅读全文
0 0
- Zookeeper实例原生API--删除节点接口权限
- Zookeeper实例原生API--删除节点
- Zookeeper实例原生API--无权限信息的Zookeeper会话访问有权限信息的节点
- Zookeeper实例原生API--同步创建节点
- Zookeeper实例原生API--异步创建节点
- Zookeeper实例原生API--使用错误权限信息的ZooKeeper会话访问含权限信息的数据节点
- Zookeeper实例ZkClient API-删除节点
- Zookeeper实例原生API--同步获取子节点列表
- Zookeeper实例原生API--异步获取子节点列表
- Zookeeper实例原生API--同步获取节点数据
- Zookeeper实例原生API--异步获取节点数据
- Zookeeper实例原生API--同步更新节点数据
- Zookeeper实例原生API--异步更新节点数据
- Zookeeper实例原生API--检查节点是否存在
- Zookeeper实例原生API--创建会话(包含权限信息)
- Zookeeper实例Curator API-使用Curator删除节点
- Zookeeper实例原生API--创建一个基本的Zookeeper会话
- Zookeeper实例ZkClient API-创建节点
- 线程池详解
- PHP中函数参数的调用及其灵活使用方法
- 作业一 数7
- Elasticsearch概念
- 算法导论 用拟阵求解任务调度问题
- Zookeeper实例原生API--删除节点接口权限
- java 反射机制
- Android点亮屏幕并解锁
- 键值对操作
- linux opendir和readdir的使用
- 自定义View实心圆和圆环
- Android设计与实现-卷1-JNI框架基础
- SVM 透彻理解与分析
- Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及