一、Zookeeper常用命令行

  1.启动zookeeper客户端(在启动zookeeper集群后启动进行调试)

    zkCli.sh  

  2.查看帮助、操作历史

    help、history

  3.查看当前Znode的目录

    ls /    ls2 /  (查看当前Znode的详细信息)

  4.创建Znode

   (1)默认:create 路径 内容

    create /Wyh 18yearsold

   (2)创建短暂的Znode  ephemeral

    create -e /dilireba beautiful

    (3)创建带序号的Znode  sequential

    create -s /yangmi justsoso

   (4)创建短暂带序号的Znode

    create -e -s /wyh cool

  5.查看Znode

    get /Wyh

  6.修改Znode

    set /Wyh

  7.删除Znode

    delete /Wyh

    rmr /Wyh  =>递归删除,即删除该节点及该节点下所有子节点

  8.监听节点

   (1)监听节点的子节点,即监听路径

    ls / watch

   (2)监听节点的内容

    get / watch

  9.查看节点状态

    stat /Wyh

二、Zookeeper常用API

  1.准备工作,zookeeper的依赖:

   可以解压其压缩包,将lib目录下的依赖包导入到编译器; 

   也可以使用maven,maven配置:

        <dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.10</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>compile</scope></dependency>

  2.常用方法讲解:

  (1)首先创建客户端类ZKClient

    在类中定义全局变量连接字段connectString、连接超时sessionTimeout、客户端类比变量zkCli;
    (2)初始化客户端

    定义初始化方法init,new一个zookeeper赋值给zkCli,并设置它的变量connectString,sessionTimeout,new Watcher(),置回调监听watcher;

(输出事件event的路径、状态、类型,并用try/catch抛出异常)
    (3)创建节点方法

    定义创建节点方法createZnode,调用客户端create方法,设置路径、编辑内容并转化为byte类型、应答类型、节点类型,然后将路径赋值给字符串变量path

,输出path;
    (4)
获取子节点方法

      定义方法getZnode,调用客户端getChildren方法,设置目标路径、是否监听,把获取的子节点的名称赋值给字符串集合children,使用 for循环遍历children集合;

   (5)删除节点方法

      定义方法deleteZnode,调用delete方法,设置目标节点、版本值(-1为删除),然后可以遍历目标删除节点的父节点;
     (6)
修改节点方法、并查看

      定义方法setZnode,调用setData方法,设置目标节点并转化为byte类型、版本值(-1),调用getData方法,设置查看节点、是否监听、状态(new Stat()),将得到的值赋值给字节集合data,将data强转为string类型数据进行查看。

  3.具体代码

/*** @author: PrincessHug* @date: 2019/2/25, 13:28* @Blog: https://www.cnblogs.com/HelloBigTable/*/
public class ZKClient01 {private String connectString = "192.168.126.128:2181,192.168.126.129:2181,192.168.126.130:2181";private int senssionTimeout = 3000;private ZooKeeper zkCli = null;/*** 初始化客户端* @ throws IOException*/@Beforepublic void unit() throws IOException {zkCli = new ZooKeeper(connectString, senssionTimeout, new Watcher() {public void process(WatchedEvent watchedEvent) {}});}/*** 创建节点* @ throws KeeperException* @ throws InterruptedException*/@Testpublic void createZnode() throws KeeperException, InterruptedException {String path = zkCli.create("/Wyh", "cool".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);System.out.println(path);}//获取节点
    @Testpublic void getZone() throws KeeperException, InterruptedException {List<String> children = zkCli.getChildren("/", true);for (String c:children){System.out.println(c);}}//删除节点
    @Testpublic void deleteZnode() throws KeeperException, InterruptedException {zkCli.delete("/baby",-1);getZone();}//修改节点
    @Testpublic void setZnode() throws KeeperException, InterruptedException {zkCli.setData("/Wyh","reallycool".getBytes(),-1);byte[] data = zkCli.getData("/Wyh", true, new Stat());System.out.println(new String(data));}}

  

转载于:https://www.cnblogs.com/HelloBigTable/p/10434153.html

Zookeeper常用命令行及API相关推荐

  1. zookeeper常用命令行操作

    zookeeper常用命令行操作 输入help显示命令提示 [zk: localhost:2181(CONNECTED) 0] help ZooKeeper -server host:port cmd ...

  2. git stash pop_git常用命令行背诵并默写(全)

    退出 : 保存退出 : 拷贝项目到本地 git 全局配置 git 当前仓库配置 git 查看 global 配置 git 查看当前仓库配置 git 删除 global 配置 git 比如 git 删除 ...

  3. 第四篇:ROS常用命令行指令【重点】

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.常用的ROS命令行指令 1.系统类指令 2.启动类指令 3.节点 ...

  4. Windows cmd常用命令行命令

    Windows常用命令行命令 打开"运行"对话框(Win+R),输入cmd,打开控制台命令窗口... 也可以通过cmd /c 命令 和 cmd /k 命令的方式来直接运行命令 注: ...

  5. Linux系统中常用命令行命令、快捷键、创建长路径的快捷键

    Linux系统中常用命令行命令.快捷键.创建长路径的快捷键 1.常用Linux命令: 1.1 文件和目录: cd /home 进入 '/home' 目录 cd - 返回上一级目录 cd -/- 返回上 ...

  6. Mysql常用命令行大全

    Mysql常用命令行大全 第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键 ...

  7. linux的常用命令行

    linux的常用命令行 sftp– help chmod g+w 文件 nohl 清除文件高亮显示 可用命令: cd 路径 更改远程目录到"路径" chgrp group plcd ...

  8. iOS:如何在iphone、ipad上安装一些常用命令行命令

    iOS:如何在iphone.ipad上安装一些常用命令行命令 相信对Linux.Unix比较熟悉的朋友,在iphone或 ipad越狱后发现通过Cydia可以安装OpenSSH,一定都想安装上并且通过 ...

  9. pgsql(PostgreSQL)常用命令行操作

    PostgreSQL常用命令行操作 注意 注意有些命令要以;结尾,有些不用(一般是 \命令 的不用) 不以;结尾的命令相当于未换行 允许一次性粘贴执行多行命令 登录 # 切换用户 (必须先切换到pos ...

最新文章

  1. phy芯片测试寄存器_PCIe 5.0首秀!7nm IP方案已成熟!PCIe 5.0的芯片设计有多难?...
  2. Windows下Memcache的安装及PHP扩展配置方法
  3. 中国计算机学会CCF推荐国际学术会议和期刊目录-计算机图形学与多媒体
  4. console和windows子系统
  5. 【Pytorch神经网络实战案例】25 (带数据增强)基于迁移学习识别多种鸟类(CUB-200数据集)
  6. 客户机无法上网,ping 127.0.0.1提示unable to contact IP driver ,error code2
  7. SSH深度历险(十一) AOP原理及相关概念学习+xml配置实例(对照注解方式的优缺点)...
  8. 我敢打赌,你对ConcurrentHashMap不了解?
  9. Java8 stream流分页(手动分页)
  10. 电子通讯录的基本模板
  11. 计算机应用基础案例教程答案,计算机应用基础案例教程问答题答案
  12. Android源码解析系列
  13. [SSL_CHX][2021-8-18]条件输出4
  14. fatal: detected dubious ownership in repository at ‘D:/‘之解决方法
  15. 牛客网SQL大厂真题二刷小白白话总结(三)电商场景(某东商城)
  16. 摇号系统 - 【python】
  17. gpu服务器厂家_嵌入式主板厂家告诉你选择GPU服务器的5大标准
  18. 人工神经网络的算法原理,对人工神经网络的理解
  19. MATLAB语言的串口助手
  20. 遥感识别4——语义分割样本数据集制作

热门文章

  1. multi-line comment In file
  2. 计算机指令称,通俗解释什么叫计算机指令?
  3. GetDlgItem
  4. nyoj 71 独木舟上的旅行 贪心
  5. 多模态语义分析_「CV学霸开讲」卷积神经网络压缩、多模态的语义分析研究
  6. 模块化加载_谈谈双亲委派模型的第四次破坏-模块化
  7. type pdf c语言课程设计,c语言课程设计-.pdf
  8. 二十二、PHP框架Laravel学习笔记——集合的使用
  9. LeetCode 2187. 完成旅途的最少时间(二分查找)
  10. php表白页面,2020情人节表白页面(代码分享)