acl-ip权限提示无法获取权限

来源:6-13 acl - ip权限

weibo_现实到夜的距离_03857956

2018-04-02

按老师的代码设置了本地的ip,但是仍然提示:

Exception in thread "main" org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /aclimooc/iptest7
 at org.apache.zookeeper.KeeperException.create(KeeperException.java:117)
 at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
 at org.apache.zookeeper.ZooKeeper.setData(ZooKeeper.java:2253)
 at com.imooc.zk.demo.ZKNodeAcl.main(ZKNodeAcl.java:110)


代码:
// ip方式的acl
List<ACL> aclsIP = new ArrayList<ACL>();
Id ipId1 = new Id("ip", "192.168.11.186");
aclsIP.add(new ACL(Perms.ALL, ipId1));
zkServer.createZKNode("/aclimooc/iptest7", "iptest".getBytes(), aclsIP);

// 验证ip是否有权限
zkServer.getZookeeper().setData("/aclimooc/iptest7", "now".getBytes(), 0);
Stat stat = new Stat();
byte[] data = zkServer.getZookeeper().getData("/aclimooc/iptest7", false, stat);
System.out.println(new String(data));
System.out.println(stat.getVersion());

//img.mukewang.com/szimg/5ac1f73f0001dfaf09930519.jpg


虚拟机用的是nat连接模式。前面几节的操作都可以,就ip权限这块不行。


写回答

2回答

风间影月

2018-04-02

你好,尝试使用桥接bridge模式,NAT模式他可以和你的电脑通信,但是IP上并不是独立的,是共享的,分布式环境下,需要让IP独立(设置静态IP),自己可以提供各种服务给其他服务器的

大致画了个图示,你可以参考看看

//img.mukewang.com/szimg/5ac1ffa30001d1f415390762.jpg

2
1
weibo_现实到夜的距离_03857956
怪不得不行呢,又学到了新知识~~
2018-04-02
共1条回复

风间影月

2018-04-02

你好,方便把你的代码贴出来吗?

0
0

ZK分布式专题与Dubbo微服务入门,成长与加薪必备

进阶中高级工程师必备技能,大数据与微服务最常用的中间件

1859 学习 · 321 问题

查看课程