Zookeeper之Shell和API 操作

xiaoxiao2021-02-28  97

Zookeeper的Shell操作: 1.连接到Zookeeper服务 [root@service zookeeper0]# bin/zkCli.sh -server localhost:2181 2.使用ls命令查看当前Zookeeper中包含的内容。  # ls / 3.创建新的znode,使用create命令  # create /zk testCRUD 4.获取节点中的值,get命令  # get /zk 5.使用set命令来对znode关联的字符串进行设置  # set /zk  myData 6.删除节点  # delete /zk Zookeeper的java API操作 public class ZooKeeperTest {     private ZooKeeper zookeeper;          /**      * 连接zookeeper      * @throws Exception      */     @Before     public void setUp() throws Exception {         String conStr = "service.bigdata.jack.cn:2181";         int sessionTimeout = 30000;         zookeeper = new ZooKeeper(conStr, sessionTimeout , new Watcher() {             @Override             public void process(WatchedEvent event) {                 System.out.println("已经触发了" + event.getType() + "事件!");             }         });     }          @Test     public void testCRUD() throws Exception {          // 创建一个目录节点          zookeeper.create("/testZK", "testZKData".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);          // 创建一个子目录节点          zookeeper.create("/testZK/childOne", "childOne".getBytes(),Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT);          System.out.println(new String(zookeeper.getData("/testZK",false,null)));          // 取出子目录节点列表          System.out.println(zookeeper.getChildren("/testZK",true));          // 修改子目录节点数据          zookeeper.setData("/testZK/childOne","modifyChildDataOne".getBytes(),-1);          System.out.println("目录节点状态:["+zookeeper.exists("/testZK",true)+"]");          // 创建另外一个子目录节点          zookeeper.create("/testZK/childTwo", "childTwo".getBytes(),                        Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT);          System.out.println(new String(zookeeper.getData("/testZK/childTwo",true,null)));          // 删除子目录节点          zookeeper.delete("/testZK/childTwo",-1);          zookeeper.delete("/testZK/childOne",-1);          // 删除父目录节点          zookeeper.delete("/testZK",-1);     }     @After     public void cleanUp() throws InterruptedException {         zookeeper.close();     } }
转载请注明原文地址: https://www.6miu.com/read-84328.html

最新回复(0)