亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

java - 有zookeeper相關的大神么?使用ZKClient創建節點,但是服務器中并沒有顯示?

瀏覽:126日期:2023-12-16 14:30:10

問題描述

我按照zk權威指南上的代碼創建節點:

package com.zkstudy;import java.io.IOException;import java.util.Random;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.ZooDefs.Ids;import org.apache.zookeeper.ZooKeeper;import org.apache.zookeeper.data.Stat;public class Master implements Watcher { private ZooKeeper zk = null; private String host; private String serverId = null; private boolean isLeader = false; public Master(String host) {this.host = host;Random radom = new Random();serverId = Integer.toHexString(radom.nextInt()); } public void start() {try { this.zk = new ZooKeeper(host, 15000, this);} catch (IOException e) { e.printStackTrace();} } public void createMaster() {while (true) { try {zk.create('/master', serverId.getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);isLeader = true;break; } catch (KeeperException e) {e.printStackTrace();isLeader = false;break; } catch (InterruptedException e) {e.printStackTrace(); } if (checkMaster()) {break; }} } public boolean checkMaster() {while (true) { Stat stat = new Stat(); try {byte[] data = zk.getData('/master', false, stat);isLeader = new String(data).equals(serverId);return true; } catch (KeeperException e) {e.printStackTrace();return false; } catch (InterruptedException e) {e.printStackTrace(); }} } public void process(WatchedEvent event) {System.out.println('watcher thread:---------->' + Thread.currentThread().getId());System.out.println('event:---------->' + event); } public static void main(String[] args) throws InterruptedException {Master master = new Master('123.206.28.37:2181');master.start();master.createMaster();if (master.isLeader) { System.out.println('i am master');}System.out.println('main thread:---------->' + Thread.currentThread().getId());Thread.sleep(5000); }}

然后我運行了兩遍。出現了如下問題:

watcher thread:---------->10event:---------->WatchedEvent state:SyncConnected type:None path:nullorg.apache.zookeeper.KeeperException$NodeExistsException: KeeperErrorCode = NodeExists for /mastermain thread:---------->1 at org.apache.zookeeper.KeeperException.create(KeeperException.java:119) at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:783) at com.zkstudy.Master.createMaster(Master.java:40) at com.zkstudy.Master.main(Master.java:83)

提示master節點已經存在。但是我在命令行里面查看卻沒有發現master節點:

[zk: localhost:2181(CONNECTED) 10] ls[zk: localhost:2181(CONNECTED) 11] ls /[zk, zookeeper][zk: localhost:2181(CONNECTED) 12]

請問這是為什么呢?zk使用的是單節點,不是偽集群。

問題解答

回答1:

自問自答吧。因為我創建的是臨時節點,臨時節點在繪畫斷開以后會自動刪除,估計這個 ls / 命令應該是列舉的持久節點。

標簽: java
主站蜘蛛池模板: 久久精品一品道久久精品9 久久精品一区 | 97视频在线免费 | 欧美日韩乱国产 | 天堂1在线观看 | 国产午夜免费视频片夜色 | 97视频免费上传播放 | 亚洲综合影视 | 中文字幕在线视频精品 | 九色视频在线观看免费 | 欧美成人免费高清二区三区 | 韩国免费毛片 | 一级白嫩美女毛片免费 | 欧美成人免费在线视频 | 日鲁夜鲁鲁狠狠综合视频 | 久久免费精品视频在线观看 | 毛片aaa | 亚洲精品欧美 | 碰碰久久| 高清一级毛片 | 日本wwxx色视频 | 日本特级视频 | 韩国精品欧美一区二区三区 | 免费一级特黄欧美大片久久网 | 久久视屏这里只有精品6国产 | 日本www免费视频网站在线观看 | 成人免费观看一区二区 | 99精品视频观看 | 国产网站黄 | 欧美一级美片在线观看免费 | 欧美视频一区二区专区 | 女人夜色黄网在线观看 | 热热涩热热狠狠色香蕉综合 | 日韩一区二区三区免费视频 | 日韩成人在线播放 | 黄 色 成 年 人小说 | 99久久一区 | 欧美精品一区二区三区视频 | 91在线亚洲 | 九九久久久久久久爱 | 日韩三级在线播放 | 成人免费视频软件网站 |