微信搜索superit|邀请体验:大数据, 数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

zookeeper递归输出所有节点

zookeeper aide_941 22℃

zookeeper递归输出所有节点

在zk根目录下有a,zookeeper两个节点,在a下有孩子a1.

  1. [zk: s201:2181(CONNECTED) 9] ls /
  2. [a, zookeeper]
  3. [zk: s201:2181(CONNECTED) 10] ls /a
  4. [a1]

递归代码如下:

  1. @Test
  2. public void TestZKAll() throws Exception {
  3. ls(“/”);
  4. }
  5. /**
  6. * 列出指定path下所有孩子
  7. */
  8. public void ls(String path) throws Exception {
  9. System.out.println(path);
  10. ZooKeeper zk = new ZooKeeper(“192.168.xxx.xxx:2181”,5000,null);
  11. List<String> list = zk.getChildren(path,null);
  12. //判断是否有子节点
  13. if(list.isEmpty() || list == null){
  14. return;
  15. }
  16. for(String s : list){
  17. //判断是否为根目录
  18. if(path.equals(“/”)){
  19. ls(path + s);
  20. }else {
  21. ls(path +“/” + s);
  22. }
  23. }
  24. }

输出结果:

  1. /a
  2. /a/a1
  3. /zookeeper
  4. /zookeeper/quota
  5. Process finished with exit code 0

转载请注明:SuperIT » zookeeper递归输出所有节点

喜欢 (0)or分享 (0)