Zookeeper案例

一、导入jar包

在Eclipse导入slf4j.api-1.6.1.jar和zookeeper-3.4.10.jar。
步骤:右键此项目 > Build Path > Configure Build Path > 在 Java Build Path 的 Libraries 栏下点击 Add External JARs > 导入jar包 > 点击 Apply and Close 即可

二、创建java文件

创建ZooKeeperEx1.java文件,内容如下

import java.io.IOException;
import java.util.List;
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;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ZooKeeperEx1{
  private static final int SESSION_TIMEOUT = 30000;
  public static final Logger LOGGER =
      LoggerFactory.getLogger("ZooKeeperEx1Log");
  private static Watcher watcher =  new Watcher() {
    public void process(WatchedEvent event) { 
      System.out.println("process : " + event.getType());
      LOGGER.info("process : " + event.getType());
    }
  };  
  public static void main(String[] args) throws
      IOException,KeeperException,InterruptedException {
    // 连接ZooKeeper
    ZooKeeper zkp = new ZooKeeper("master:2181,slave1:2181,slave2:2181",
        SESSION_TIMEOUT,watcher);
    // 创建ZNode
    zkp.create("/test", "znodedata".getBytes(),
        Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT);
    zkp.create("/test/seq", "childdata".getBytes(),
        Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT_SEQUENTIAL);
    // 判断ZNode是否存在
    Stat stat = zkp.exists("/test", true);
    if (zkp.exists("/test", false) != null) {
      System.out.println("/test exists now.");
    }
    // 更新ZNode数据内容
    zkp.setData("/test", "newdata".getBytes(), stat.getVersion());   
    // 读取ZNode数据
    String data = new String(zkp.getData("/test", true, stat));
        System.out.println(data);  
    // 获取子节点
    List<String> children=zkp.getChildren("/test", true );
    for(String child :children) {
      System.out.println(child);
     }
    // 删除ZNode子节点
    zkp.delete("/test/"+children.get(0), -1);
    // 删除ZNode节点
    zkp.delete("/test", -1);
    zkp.close();
  }
}

三、导出jar包

步骤:右键此项目 > Export > java > Runnable jar file>
在这里插入图片描述

三、运行jar文件

#java -jar [文件路径]

相关推荐

  1. Zookeeper

    2024-03-10 08:38:01       59 阅读
  2. <span style='color:red;'>ZooKeeper</span>

    ZooKeeper

    2024-03-10 08:38:01      70 阅读
  3. <span style='color:red;'>Zookeeper</span>

    Zookeeper

    2024-03-10 08:38:01      45 阅读
  4. <span style='color:red;'>ZooKeeper</span>

    ZooKeeper

    2024-03-10 08:38:01      49 阅读
  5. <span style='color:red;'>zookeeper</span>

    zookeeper

    2024-03-10 08:38:01      42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 08:38:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 08:38:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 08:38:01       82 阅读
  4. Python语言-面向对象

    2024-03-10 08:38:01       91 阅读

热门阅读

  1. 面试中如何介绍zookeeper的ZAB协议

    2024-03-10 08:38:01       39 阅读
  2. .Net Core/.net 6/.Net 8 实现Mqtt服务器

    2024-03-10 08:38:01       34 阅读
  3. 【杂言】迟到的 2024 展望

    2024-03-10 08:38:01       39 阅读
  4. 程序员如何选择职业赛道?

    2024-03-10 08:38:01       44 阅读
  5. rabbitmq4

    rabbitmq4

    2024-03-10 08:38:01      35 阅读
  6. 题目 1908: 蓝桥杯-矩阵相乘

    2024-03-10 08:38:01       36 阅读
  7. 3.Rust数据类型

    2024-03-10 08:38:01       39 阅读
  8. 【C++ 学习】C++ 传值 传指针 传引用

    2024-03-10 08:38:01       39 阅读
  9. 防抖与节流

    2024-03-10 08:38:01       39 阅读
  10. Lua 脚本语言基础语法及应用

    2024-03-10 08:38:01       35 阅读
  11. HTML:用对 preload、prefetch提升网页加载速度

    2024-03-10 08:38:01       42 阅读