常用命令之zookeeper命令

这篇具有很好参考价值的文章主要介绍了常用命令之zookeeper命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、zookeeper客户端简介

  ZooKeeper提供了一个非常简单的命令行客户端zkCli,它在ZooKeeper安装目录的bin目录下。输入./zkCli.sh命令默认连接本地127.0.0.1:2181节点,如果我们需要连接远程节点可以使用./zkCli.sh -server ip:2181方式进行连接。连接过程中会输出一大堆信息。当连接成功后,将进入ZooKeeper的交互式模式。博文实验环境:

  • 操作系统:centos7.6
  • zookeeper版本:3.6.3

二、zookeeper常用命令示例

0、连接zookeeper server

[wuhs@s143 bin]$ ./zkCli.sh -server 192.168.0.142:2181
Connecting to 192.168.0.142:2181
2022-03-02 22:26:26,705 [myid:] - INFO [main:Environment@98] - Client environment:zookeeper.version=

mplete on server s142/192.168.0.142:2181, session id = 0x100002542a90003, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null

1、获取命令帮助

  早先版本是通过help命令获取命令帮助,新版本会提示找不到help命令,但是输出结果还是会显示zookeeper客户端下支持的命令。
常用命令之zookeeper命令

2、查看软件版本

[zk: 192.168.0.142:2181(CONNECTED) 1] version
ZooKeeper CLI version: 3.6.3–6401e4ad2087061bc6b9f80dec2d69f2e3c8660a, built on 04/08/2021 16:35 GMT

3、连接一个远程节点

[zk: 192.168.0.142:2181(CONNECTED) 2] connect 192.168.0.143:2181

4、关闭连接

[zk: 192.168.0.143:2181(CONNECTED) 3] close

WATCHER::

WatchedEvent state:Closed type:None path:null
2022-03-03 01:29:57,127 [myid:] - INFO [main:ZooKeeper@1619] - Session: 0x20000253ae20003 closed
2022-03-03 01:29:57,127 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@578] - EventThread shut down for session: 0x20000253ae20003

5、显示仲裁成员的配置

[zk: 192.168.0.143:2181(CONNECTED) 8] config
server.1=192.168.0.142:2888:3888:participant
server.2=192.168.0.143:2888:3888:participant
server.3=192.168.0.144:2888:3888:participant
version=0

6、创建一个znode

  命令语法:create [-s] [-e] [-c] [-t ttl] path [data] [acl]

  • -s:创建的是带序列号的节点,序列号用0填充节点路径。
  • -e:创建的是临时节点。
  • -c:创建的是容器节点
  • path:znode的路径,ZooKeeper中没有相对路径,所有路径都必须以’/'开头。
  • data:znode携带的数据。
  • acl:这个节点的ACL。

#创建一个永久节点
[zk: 192.168.0.143:2181(CONNECTED) 19] create /zk_test
Created /zk_test
#创建一个临时节点
[zk: 192.168.0.143:2181(CONNECTED) 25] create -e /ephemeral_node
Created /ephemeral_node
常用命令之zookeeper命令

7、删除znode节点

#删除节点前要求节点目录为空,不存在子节点
[zk: 192.168.0.143:2181(CONNECTED) 34] delete /config
Node not empty: /config
[zk: 192.168.0.143:2181(CONNECTED) 35] delete /config/topics/test
[zk: 192.168.0.143:2181(CONNECTED) 27] delete /ephemeral_node
#如果要删除整个节点及子节点可以使用deleteall
[zk: 192.168.0.143:2181(CONNECTED) 36] deleteall /config

8、指定路径下的配额管理

  配额管理主要有两个参数

  • -n限制子节点的数量(包括自身)
  • -b限制一条路径的字节(数据长度)

#查看配额
[zk: localhost:2181(CONNECTED) 21] listquota /config/topics
absolute path is /zookeeper/quota/config/topics/zookeeper_limits
Output quota for /config/topics count=2,bytes=-1
Output stat for /config/topics count=6,bytes=0
#设置配额
[zk: localhost:2181(CONNECTED) 15] setquota -n 2 /config/topics
#删除配额
[zk: localhost:2181(CONNECTED) 24] delquota /config/topics

9、显示一个节点的状态

[zk: localhost:2181(CONNECTED) 25] stat /config/topics
cZxid = 0x100000024
ctime = Thu Mar 03 15:16:38 CST 2022
mZxid = 0x100000024
mtime = Thu Mar 03 15:16:38 CST 2022
pZxid = 0x100000031
cversion = 5
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 5

10、查看路径子节点

  命令语法:ls [-s] [-w] [-R] path

  • -s 同时显示stat信息
  • -w 只显示子节点信息,默认选项
  • -R 递归显示

[zk: localhost:2181(CONNECTED) 27] ls -R /
/
/config
/zk_test
/zookeeper
/config/topics
/config/topics/test
/config/topics/test2
/config/topics/test3
/config/topics/test4
/config/topics/test5
/zookeeper/config
/zookeeper/quota

11、获取指定路径下的数据

[zk: localhost:2181(CONNECTED) 4] get /zookeeper/config
server.1=192.168.0.142:2888:3888:participant
server.2=192.168.0.143:2888:3888:participant
server.3=192.168.0.144:2888:3888:participant
version=0

12、获取子节点数量

[zk: localhost:2181(CONNECTED) 10] getAllChildrenNumber /zookeeper
2

13、获取会话创建的临时节点

[zk: localhost:2181(CONNECTED) 14] create -e /config/abc
Created /config/abc
[zk: localhost:2181(CONNECTED) 15] getEphemerals /config
[/config/abc]

14、设置或者更新路径数据

[zk: 192.168.0.143:2181(CONNECTED) 45] set /config/topics/test “this is a test”
[zk: 192.168.0.143:2181(CONNECTED) 46] get /config/topics/test
this is a test

15、设置ACL

ACL权限 ACL 简写 允许的操作
CREATE c 创建子节点
READ r 获取节点的数据和它的子节点
WRITE w 设置节点的数据
DELETE d 删除子节点 (仅下一级节点)
ADMIN a 设置 ACL 权限

  ZooKeeper内置了一些权限控制方案,可以用以下方案为每个节点设置权限:

方案 描述
world 只有一个用户:anyone,代表所有人(默认)
ip 使用IP地址认证
auth 使用已添加认证的用户认证
digest 使用“用户名:密码”方式认证

#远程登录可以查看/config权限
[zk: 192.168.0.144:2181(CONNECTED) 0] getAcl /config
'ip,'192.168.0.0/24
: cdrwa
#本地登录查看或者配置config会报错无权限
[zk: localhost:2181(CONNECTED) 37] ls /config
Insufficient permission : /config
#设置auth方案
[zk: 192.168.0.144:2181(CONNECTED) 2] create /mynode1 hello
Created /mynode1
[zk: 192.168.0.144:2181(CONNECTED) 3] addauth digest admin:admin
[zk: 192.168.0.144:2181(CONNECTED) 4] setAcl /mynode1 auth:admin:cdrwa
[zk: 192.168.0.144:2181(CONNECTED) 5] getAcl /mynode1
'digest,'admin:x1nq8J5GOJVPY6zgzhtTtA9izLc=
: cdrwa

16、获取ACL

[zk: localhost:2181(CONNECTED) 17] getAcl /config
'world,'anyone
: cdrwa

17、同步数据集群间数据

[zk: 192.168.0.143:2181(CONNECTED) 48] sync /
Sync is OK

18、查看命令执行历史

[zk: 192.168.0.143:2181(CONNECTED) 49] history
39 - create /config
40 - create /config/topics
41 - create /config/topics/test
42 - ls /
43 - help
44 - help
45 - set /config/topics/test “this is a test”
46 - get /config/topics/test
47 - set -v 2 /config/topics/test “this is a test 2”
48 - sync /
49 - history

19、退出客户端

[zk: 192.168.0.143:2181(CONNECTED) 50] quit

WATCHER::

WatchedEvent state:Closed type:None path:null
2022-03-03 03:58:33,818 [myid:] - INFO [main:ZooKeeper@1619] - Session: 0x20000253ae20004 closed
2022-03-03 03:58:33,818 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@578] - EventThread shut down for session: 0x20000253ae20004
2022-03-03 03:58:33,820 [myid:] - ERROR [main:ServiceUtils@42] - Exiting JVM with code 0

20、更多信息查看

  更多命令帮助信息我们可以查阅官网帮助文档,zookeeper 3.6.3版本命令帮助文件见链接:
https://zookeeper.apache.org/doc/r3.6.3/zookeeperCLI.html文章来源地址https://www.toymoban.com/news/detail-464830.html

到了这里,关于常用命令之zookeeper命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis系列学习文章分享---第一篇(Redis快速入门之初始Redis--NoSql+安装redis+客户端+常用命令)

    欢迎小伙伴交流学习,这是第一篇(Redis快速入门之初始Redis–NoSql+安装redis+客户端+常用命令),后续持续更新 Redis是一种键值型的NoSql数据库,这里有两个: 键值型 NoSql 其中 键值型 ,是指Redis中存储的数据都是以key、value对的形式存储,而value的形式多种多样,可以

    2024年02月20日
    浏览(42)
  • 03-Zookeeper客户端使用

    上一篇:02-Zookeeper实战 zookeeper 官方的客户端没有和服务端代码分离,他们为同一个jar 文件,所以我们直接引入zookeeper的maven即可, 这里版本请保持与服务端版本一致,不然会有很多兼容性的问题 为了便于测试,直接在初始化方法中创建zookeeper实例 创建Zookeeper实例的方法:

    2024年02月07日
    浏览(38)
  • ZooKeeper客户端使用与经典应用场景

    ZooKeeper的应用场景依赖于ZNode节点特性和Watch监听机制。 常用于实现配置中心,类似的有nacos。 数据发布/订阅的一个常见的场景是配置中心,发布者把数据发布到ZooKeeper的一个或一系列的节点上,供订阅者进行数据订阅,达到动态获取数据的目的。 配置信息一般有几个特点

    2024年02月12日
    浏览(33)
  • Java客户端_zkclient库操作Zookeeper

    使用zookeeper遇到问题: 重复注册watcher session失效重连 异常处理(删除节点不能有子节点,新增节点必须有父节点等) zkclient是Github上一个开源的Zookeeper客户端,在Zookeeper原生 API接口之上进行了包装,是一个更加易用的Zookeeper客户端。同时Zkclient在内部实现了诸如Session超时重

    2024年02月07日
    浏览(49)
  • 修改 Zookeeper 的客户端连接端口(默认2181端口)

    Zookeeper 的配置文件通常名为 zoo.cfg,位于 Zookeeper 安装目录的 /conf 目录下。初始配置如下: 修改客户端连接端口的步骤如下: 找到并打开 zoo.cfg 文件 修改客户端端口:找到或添加 clientPort 属性,将其更改为 2281。 保存并重启 Zookeeper 服务。 特别提醒 : 如果在 zoo.cfg 文件中

    2024年04月28日
    浏览(29)
  • CentOS 7 基于C 连接ZooKeeper 客户端

    前提条件:CentOS 7 编译ZooKeeper 客户端,请参考:CentOS 7 编译ZooKeeper 客户端 在 /usr/local/source_code/zookeeper_demo/ 目录下,新增zookeeper_demo.c 文件,内容如下: 在 编译代码的时候需要加链接的库及库的路径 ,那么编译命令如下 在执行的时候 如果出现动态库无法加载,请进行如下

    2024年02月08日
    浏览(34)
  • ZooKeeper技术细节_zookeeper and 服务器 and 客户端 and 数据节点

    方法入参EventType指定触发事件的类型:data变更还是childNodes变更等。 将KeeperState、EventType、Path new 到WatchedEvent实例中 根据Path路径从watchTable中找到所有对应的Watcher,为空continue,不为空时再iterator.remove掉,这样Watcher触发一次就失效了 从Map中找到的所有Watcher执行一遍其process方

    2024年04月22日
    浏览(35)
  • Zookeeper中的客户端配置认证(zoo_client.conf)

    Zookeeper中的客户端配置认证可以使用两种方法:digest和Kerberos。 客户端鉴权配置 该配置是用于启用Zookeeper SASL认证提供程序的选项,它是Zookeeper中一种基于Kerberos的身份验证方式。SASL(Simple Authentication and Security Layer)是一种通用的安全联接层协议,通常用于安全认证。 具体

    2024年02月13日
    浏览(42)
  • 【Zookeeper源码走读】第三章 服务器处理客户端请求的流程

    前一篇文章,已经大致介绍了Server的启动流程,在NIOServerCnxnFactory.start()方法中,启动了多个线程,其中就有接收socket报文的线程,代码如下: 注意这里,acceptThread是接收socket的线程(AcceptThread),acceptThread的初始化是在NIOServerCnxnFactory.configure()中实现的: NIOServerCnxnFactory.confi

    2024年02月02日
    浏览(38)
  • zookeeper客户端连接报错 java.net.ConnectException: Connection refused

    Session 0x0 for sever localhost/0:0:0:0:0:0:0:1:2181, Closing socket connection. Attempting reconnect except it is a SessionExpiredException. java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) at org.apache.zookeeper.ClientCnxnSock

    2024年02月13日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包