Zookeeper实例原生API--无权限信息的Zookeeper会话访问有权限信息的节点

来源:互联网 发布:游戏报名网站源码 编辑:程序博客网 时间:2024/05/23 11:37


import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.ZooDefs.Ids;import org.apache.zookeeper.ZooKeeper;/** * * @ClassName: AuthSample_Get * @Description: TODO(使用无权限信息的ZooKeeper会话访问含权限信息的数据节点) * @author RongShu* @date 2017年6月11日 下午8:42:04 * */public class AuthSample_Get {    final static String PATH = "/zk-book-auth_test";    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.EPHEMERAL );        ZooKeeper zookeeper2 = new ZooKeeper("localhost:2181",50000,null);        zookeeper2.getData( PATH, false, null );    }}输出Exception in thread "main" org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /zk-book-auth_testat org.apache.zookeeper.KeeperException.create(KeeperException.java:113)at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:1212)at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:1241)at book.chapter05.$5_3_7.AuthSample_Get.main(AuthSample_Get.java:20)


注意:

我们首先通过一个包含权限信息的客户端会话 建立一个数据节点,然后使用不包含权限信息的客户端对会话进行访问,输出了错误信息。


参考

1.《从Paxos到Zookeeper:分布式一致性原理与实践》

2.https://zookeeper.apache.org/doc/r3.5.3-beta/javaExample.html


阅读全文
0 0
原创粉丝点击