KeeperException$NoNodeException: KeeperErrorCode =

java连接zookeeper创建节点报错:

Exception in thread "main" org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode 
for /node1/child1_1
	at org.apache.zookeeper.KeeperException.create(KeeperException.java:111)
	at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
	at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:783)
	at ZookeeperUtils.createChildNode(ZookeeperUtils.java:55)
	at ZookeeperUtils.main(ZookeeperUtils.java:18)

原因是要创建的节点为child1_1,但是此时其父节点/node1还不存在,因此会报错。使用java通过官方提供的zookeeper-3.4.8.jar来连接zookeeper时,要创建节点首先要确保其父节点已经被创建。

/**
	 * 在已有节点上创建子节点,如果父节点没有那么就不能创建
	 */
	public void createChildNode() throws Exception{
		ZooKeeper zk=getInstance();
		zk.create("/node1/child1_1","child1_1_data".getBytes(), 
	            ZooDefs.Ids.OPEN_ACL_UNSAFE, 
	            CreateMode.PERSISTENT);
		zk.close();
	}

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值