当前位置: 首页 > news >正文

ZooKeeper基础命令和Java客户端操作

1、zkCli的常用命令操作

(1)Help
在这里插入图片描述

(2)ls 使用 ls 命令来查看当前znode中所包含的内容
(3)ls2查看当前节点数据并能看到更新次数等数据
(4)stat查看节点状态
(5)set
1)设置节点的具体值
2)set 节点 value值 set /test atguigu
(6)get
1)获得节点的值
2)get 节点
(7)create
1)普通创建 create /test demo001
2)-s含有序列
3)-e 临时
(8)delete 删除无子节点的目录
(9)rmr 递归删除

2 四字命令

2.1 是什么?

zookeeper支持某些特定的四字命令,他们大多是用来查询ZK服务的当前状态及相关信息的。
通过telnet或nc向zookeeper提交相应命令,如:echo ruok | nc 127.0.0.1 2181
运行公式:echo 四字命令 | nc 主机IP zookeeper端口

2.2 常用命令

ruok:测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应
stat:输出关于性能和连接的客户端的列表
conf:输出相关服务配置的详细信息
cons:列出所有连接到服务器的客户端的完全的连接 /会话的详细信息。包括“接受 / 发送”的包数量、会话id 、操作延迟、最后的操作执行等等信息
dump:列出未经处理的会话和临时节点
envi:输出关于服务环境的详细信息(区别于conf命令)
reqs:列出未经处理的请求
wchs:列出服务器watch的详细信息
wchc:通过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表
wchp:通过路径列出服务器 watch的详细信息。它输出一个与 session相关的路径

3、Java客户端操作

3.1 创建项目

创建一个maven 项目zk-demo
在这里插入图片描述

3.2 添加依赖

修改pom.xml

 <dependencies><!-- https://mvnrepository.com/artifact/com.101tec/zkclient --><dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.10</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper --><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.9</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency></dependencies>

3.3 代码部分

public class ZkDemo {private static final String CONNECTSTRING = "192.168.200.129:2181";private static final String PATH = "/atguigu";private static final int SESSION_TIMEOUT = 50*1000;// 连接zk 方法public ZooKeeper startZk() throws Exception{//return new ZooKeeper(CONNECTSTRING, SESSION_TIMEOUT, new Watcher() {@Overridepublic void process(WatchedEvent event) {}});}// 关闭zk 方法public void stopZk(ZooKeeper zooKeeper) throws Exception{if (zooKeeper!=null){zooKeeper.close();}}/*** 创建节点* @param zk zk 对象* @param path 节点名称* @param nodeValue 节点数据* @throws Exception*/public void createZNode(ZooKeeper zk,String path,String nodeValue) throws Exception{// acl 表示权限 OPEN_ACL_UNSAFE 公开的权限zk.create(path,nodeValue.getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);}// 获取节点public String getZNode(ZooKeeper zk,String path)throws Exception{byte[] byteArray = zk.getData(path, false, new Stat());String data = new String(byteArray);System.out.println(data);return data;}// 调用public static void main(String[] args) throws Exception {ZkDemo zkDemo = new ZkDemo();// 获取连接ZooKeeper zk = zkDemo.startZk();String zNode = null;Stat stat = zk.exists(PATH, false);if (stat==null){// 创建节点zkDemo.createZNode(zk,PATH,"java");}else {System.out.println("***********znode has already ok***********");}// 获取节点数据zNode = zkDemo.getZNode(zk, PATH);System.out.println("**********result:"+zNode);// 关闭连接zkDemo.stopZk(zk);}
}
http://www.lryc.cn/news/146988.html

相关文章:

  • 【数据分享】2000-2020年全球人类足迹数据(无需转发\免费获取)
  • 基于机器学习的fNIRS信号质量控制方法
  • 分布式锁的三种实现方式是什么?
  • 华为云软件精英实战营——感受软件改变世界,享受Coding乐趣
  • 贪心算法总结篇
  • ICCV 2023 | 港中文MMLab: 多帧光流估计模型VideoFlow,首次实现亚像素级别误差
  • 【python爬虫】—图片爬取
  • 自动化运维工具—Ansible
  • uniapp 安卓平台签名证书(.keystore)生成
  • 缓存中间件Redis常考知识点
  • detour编译问题及导入visual studio
  • 江西武功山旅游攻略(周末两日游)
  • Django静态文件媒体文件文件上传
  • mysql 分库分表实现思路
  • Android深思如何防止快速点击
  • PHP自己的框架cookie()使用(完善篇七)
  • Spring Boot Dubbo Zookeeper(含ZK安装脚本)
  • BigDecimal百科全书
  • 【30天熟悉Go语言】11 数组的全方位使用与解析
  • 静态路由(详细理解+实例精讲)
  • leetcode做题笔记118. 杨辉三角
  • stm32之24.RTC闹钟usart端口修改配置
  • Spring Security无法调用接口错误解决
  • 运维Shell脚本小试牛刀(二)
  • 飞天使-python的模块与包与装饰器
  • linux shell脚本利用 kill -0 检查进程是否存在
  • 抖音视频删了怎么在电脑上找回来
  • 方面级别情感分析之四元组预测
  • 算法 稀疏数组 数组优化 数组压缩 二维数组转稀疏数组 算法合集(二)
  • 交换机端口安全实验