访问Zookeeper

开启Zookeeper服务程序:

./zkServer.sh start

启动Zookeeper客户端进行访问:

./zkCli.sh 

运行打印:

[root@VM-0-7-centos bin]# ./zkCli.sh
/usr/bin/java
Connecting to localhost:2181
2020-08-07 09:08:15,680 [myid:] - INFO [main:Environment@109] - Client environment:zookeeper.version=3.5.8-f439ca583e70862c3068a1f2a7d4d068eec33315, built on 05/04/2020 15:07 GMT
2020-08-07 09:08:15,683 [myid:] - INFO [main:Environment@109] - Client environment:host.name=VM-0-7-centos
2020-08-07 09:08:15,683 [myid:] - INFO [main:Environment@109] - Client environment:java.version=1.8.0_252
2020-08-07 09:08:15,687 [myid:] - INFO [main:Environment@109] - Client environment:java.vendor=Oracle Corporation
2020-08-07 09:08:15,687 [myid:] - INFO [main:Environment@109] - Client environment:java.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/jre
2020-08-07 09:08:15,687 [myid:] - INFO [main:Environment@109] - Client environment:java.class.path=/usr/local/zookeeper/bin/../zookeeper-server/target/classes:/usr/local/zookeeper/bin/../build/classes:/usr/local/zookeeper/bin/../zookeeper-server/target/lib/*.jar:/usr/local/zookeeper/bin/../build/lib/*.jar:/usr/local/zookeeper/bin/../lib/zookeeper-jute-3.5.8.jar:/usr/local/zookeeper/bin/../lib/zookeeper-3.5.8.jar:/usr/local/zookeeper/bin/../lib/slf4j-log4j12-1.7.25.jar:/usr/local/zookeeper/bin/../lib/slf4j-api-1.7.25.jar:/usr/local/zookeeper/bin/../lib/netty-transport-native-unix-common-4.1.48.Final.jar:/usr/local/zookeeper/bin/../lib/netty-transport-native-epoll-4.1.48.Final.jar:/usr/local/zookeeper/bin/../lib/netty-transport-4.1.48.Final.jar:/usr/local/zookeeper/bin/../lib/netty-resolver-4.1.48.Final.jar:/usr/local/zookeeper/bin/../lib/netty-handler-4.1.48.Final.jar:/usr/local/zookeeper/bin/../lib/netty-common-4.1.48.Final.jar:/usr/local/zookeeper/bin/../lib/netty-codec-4.1.48.Final.jar:/usr/local/zookeeper/bin/../lib/netty-buffer-4.1.48.Final.jar:/usr/local/zookeeper/bin/../lib/log4j-1.2.17.jar:/usr/local/zookeeper/bin/../lib/json-simple-1.1.1.jar:/usr/local/zookeeper/bin/../lib/jline-2.11.jar:/usr/local/zookeeper/bin/../lib/jetty-util-9.4.24.v20191120.jar:/usr/local/zookeeper/bin/../lib/jetty-servlet-9.4.24.v20191120.jar:/usr/local/zookeeper/bin/../lib/jetty-server-9.4.24.v20191120.jar:/usr/local/zookeeper/bin/../lib/jetty-security-9.4.24.v20191120.jar:/usr/local/zookeeper/bin/../lib/jetty-io-9.4.24.v20191120.jar:/usr/local/zookeeper/bin/../lib/jetty-http-9.4.24.v20191120.jar:/usr/local/zookeeper/bin/../lib/javax.servlet-api-3.1.0.jar:/usr/local/zookeeper/bin/../lib/jackson-databind-2.10.3.jar:/usr/local/zookeeper/bin/../lib/jackson-core-2.10.3.jar:/usr/local/zookeeper/bin/../lib/jackson-annotations-2.10.3.jar:/usr/local/zookeeper/bin/../lib/commons-cli-1.2.jar:/usr/local/zookeeper/bin/../lib/audience-annotations-0.5.0.jar:/usr/local/zookeeper/bin/../zookeeper-*.jar:/usr/local/zookeeper/bin/../zookeeper-server/src/main/resources/lib/*.jar:/usr/local/zookeeper/bin/../conf:
2020-08-07 09:08:15,688 [myid:] - INFO [main:Environment@109] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2020-08-07 09:08:15,688 [myid:] - INFO [main:Environment@109] - Client environment:java.io.tmpdir=/tmp
2020-08-07 09:08:15,688 [myid:] - INFO [main:Environment@109] - Client environment:java.compiler=<NA>
2020-08-07 09:08:15,688 [myid:] - INFO [main:Environment@109] - Client environment:os.name=Linux
2020-08-07 09:08:15,688 [myid:] - INFO [main:Environment@109] - Client environment:os.arch=amd64
2020-08-07 09:08:15,688 [myid:] - INFO [main:Environment@109] - Client environment:os.version=3.10.0-1062.18.1.el7.x86_64
2020-08-07 09:08:15,688 [myid:] - INFO [main:Environment@109] - Client environment:user.name=root
2020-08-07 09:08:15,688 [myid:] - INFO [main:Environment@109] - Client environment:user.home=/root
2020-08-07 09:08:15,688 [myid:] - INFO [main:Environment@109] - Client environment:user.dir=/usr/local/zookeeper/bin
2020-08-07 09:08:15,688 [myid:] - INFO [main:Environment@109] - Client environment:os.memory.free=23MB
2020-08-07 09:08:15,690 [myid:] - INFO [main:Environment@109] - Client environment:os.memory.max=247MB
2020-08-07 09:08:15,691 [myid:] - INFO [main:Environment@109] - Client environment:os.memory.total=29MB
2020-08-07 09:08:15,694 [myid:] - INFO [main:ZooKeeper@868] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@484b61fc
2020-08-07 09:08:15,704 [myid:] - INFO [main:X509Util@79] - Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation
2020-08-07 09:08:15,711 [myid:] - INFO [main:ClientCnxnSocket@237] - jute.maxbuffer value is 4194304 Bytes
2020-08-07 09:08:15,727 [myid:] - INFO [main:ClientCnxn@1653] - zookeeper.request.timeout value is 0. feature enabled=
2020-08-07 09:08:15,737 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1112] - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)
Welcome to ZooKeeper!
JLine support is enabled
2020-08-07 09:08:15,876 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@959] - Socket connection established, initiating session, client: /0:0:0:0:0:0:0:1:48090, server: localhost/0:0:0:0:0:0:0:1:2181
[zk: localhost:2181(CONNECTING) 0] 2020-08-07 09:08:15,920 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1394] - Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x100048bdb4c0000, negotiated timeout = 30000 WATCHER::

输入quit回车退出zookeeper客户端:

WatchedEvent state:SyncConnected type:None path:null
quit WATCHER:: WatchedEvent state:Closed type:None path:null
2020-08-07 09:08:23,890 [myid:] - INFO [main:ZooKeeper@1422] - Session: 0x100048bdb4c0000 closed
2020-08-07 09:08:23,891 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@524] - EventThread shut down for session: 0x100048bdb4c0000

创建节点:

语法:

create [-s] [-e] path data acl

参数说明:

-s表示顺序节点,
-e表示临时节点
默认情况下,创建的是持久节点。 path是节点路径,
data是节点数据,
acl用来进行权限控制

案例:

create /sanguo  luoguanzhong 
创建一个持久节点目录为/sanguo 值为 luoguanzhong create -s /shuihu shinaian
创建一个持久顺序节点目录为/shuihu 值为 shinaian create -e /xiyou wuchengren
创建一个临时节点目录为/xiyou 值为 wuchengren create -e -s /honglou caoxueqing
创建一个临时顺序节点目录为/honglou 值为 caoxueqing

我的测试:

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] create -e /zkNode01 dzz
Created /zkNode01
[zk: localhost:2181(CONNECTED) 1]

查看节点内容:

使用get命令,获取zookeeper指定节点的内容和属性信息

[zk: localhost:2181(CONNECTED) 1] get /zkNode01
dzz

如果输入完整信息get

[zk: localhost:2181(CONNECTED) 2] get /zkNode01 dzz
'get path [watch]' has been deprecated. Please use 'get [-s] [-w] path' instead.

ZK提示此命令已经过时不适用了,要求使用 -s & -w 参数进行获取

[zk: localhost:2181(CONNECTED) 4] get -s -w /zkNode01
dzz
cZxid = 0x4
ctime = Fri Aug 07 09:16:10 CST 2020
mZxid = 0x4
mtime = Fri Aug 07 09:16:10 CST 2020
pZxid = 0x4
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x100048bdb4c0001
dataLength = 3
numChildren = 0

也可以使用stat命名查看:

stat /zkNode01

若是需要查看子节点:

ls /
查看根节点下的所有子节点 ls 指定的节点
查看该节点下的所有子节点

查看根的子节点们:

[zk: localhost:2181(CONNECTED) 5] ls /
[zkNode01, zookeeper]

除了我们刚刚创建zkNode01,发现还有一个节点,名称就为zookeeper

查看这个节点的信息:

[zk: localhost:2181(CONNECTED) 6] get -s -w /zookeeper

cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -2
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 2

更新修改节点内容:

使用set命令,更新节点内容。

语法:

set path data
其中的data就是要更新的新内容。

其实更新的是节点的data

[zk: localhost:2181(CONNECTED) 31] get -s -w /zkNode01
123
cZxid = 0x4
ctime = Fri Aug 07 09:16:10 CST 2020
mZxid = 0x8
mtime = Fri Aug 07 09:39:15 CST 2020
pZxid = 0x4
cversion = 0
dataVersion = 4
aclVersion = 0
ephemeralOwner = 0x100048bdb4c0001
dataLength = 3
numChildren = 0

每一次更新 dataVersion都会追加修改的记录次数

删除节点:

首先节点结构是一个树状结构,也就是说一个节点下面会有N个子节点,也可能没有

如果我们某一个节点进行删除,那么也就代表着该节点下面的后代节点都将被删除,

Zookeeper在我们执行删除节点的操作时会判断有无后代节点,如果有是不允许删除该节点的

例如这样:

[zk: localhost:2181(CONNECTED) 31]  delete /someNode
Node not empty : /someNode

我们刚刚创建的节点下面并没有其他子节点,所有删除正常:

[zk: localhost:2181(CONNECTED) 32] delete /zkNode01

WATCHER::

WatchedEvent state:SyncConnected type:NodeDeleted path:/zkNode01

但是如果需要删除该节点和所有子节点操作的话,是使用此命令:

rmr 节点路径

监控节点:

我们再开启一个XSHELL访问:

在下面客户端创建一个新节点,并且 在上面的客户端中获取节点信息并且监视节点

当节点的数据进行修改,上面的客户端就会监听到改动:

【Zookeeper】03 单机操作的更多相关文章

  1. Zookeeper系列一:Zookeeper基础命令操作

    有些事不是努力就可以改变的,五十块的人民币设计的再好看,也没有一百块的招人喜欢. 前言 由于公司年底要更换办公地点,所以最近投了一下简历,发现面试官现在很喜欢问dubbo.zookeeper和高并发等 ...

  2. 五、Zookeeper的Shell操作

    前文 一.CentOS7 hadoop3.3.1安装(单机分布式.伪分布式.分布式 二.JAVA API实现HDFS 三.MapReduce编程实例 四.Zookeeper3.7安装 Zookeepe ...

  3. ZooKeeper 的读写操作 & 选举机制

    0. 说明 记录 ZooKeeper 的读写操作和选举机制 1. ZooKeeper 的读写操作 读操作:所有 ZooKeeper 节点都可以提供读请求(包括 follower 和 leader ) ...

  4. ZooKeeper 原生API操作

    zookeeper客户端和服务器会话的建立是一个异步的过程,也就是说在程序中,程序方法在处理完客户端初始化后立即返回(即程序继续往下执行代码,这样,在大多数情况下并没有真正的构建好一个可用会话,在会话 ...

  5. 安装zookeeper(单机,伪集群)

    1.登陆zookeeper官网下载 https://zookeeper.apache.org/ zookeeper-3.4.8.tar.gz 解压:tar -zxvf zookeeper-3.4.8. ...

  6. Docker下安装zookeeper(单机 & 集群)

    启动Docker后,先看一下我们有哪些选择. 有官方的当然选择官方啦~ 下载: [root@localhost admin]# docker pull zookeeper Using default ...

  7. ZooKeeper 03 - ZooKeeper集群的脑裂问题 (Split Brain问题)

    目录 1 ZooKeeper的主从机制 2 什么是ZooKeeper的脑裂 2.1 脑裂现象的表现 2.2 为什么会出现脑裂 3 ZooKeeper如何解决"脑裂" 3.1 3种可 ...

  8. centos7 下zookeeper 部署 单机多实例模式

    centos7 下zookeeper 部署 本文参考https://www.linuxidc.com/Linux/2016-09/135052.htm 1.创建/usr/local/zookeeper ...

  9. Zookeeper Client基础操作和Java调用

    ## Zookeeper > Zookeeper目前用来做数据同步,再各个服务之前同步关键信息 i.客户端操作 1. 创建 create [-s] [-e] path data acl -s 为 ...

  10. Zookeeper的shell操作

    一.客户端连接服务器 zkCli.sh start 二.命令操作 进入到客户端操作行,键入help 查看zookeeper命令列表 常用命令 1) 查看节点列表:ls 路径 2) 创建节点:creat ...

随机推荐

  1. Python 潮流周刊#54:ChatTTS 强大的文本生成语音模型

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  2. ETL工具-nifi干货系列 第十四讲 nifi处理器PublishKafka实战教程

    1.kettle的kafka生产者叫kafka producer,nifi中的相应处理器为PublishKafka,如下图所示: 可以很清楚的看到PublishKafka处理器支持多个版本的kafka ...

  3. Ubuntu 更改鼠标滚轮速度

    1.安装imwheel sudo apt-get install imwheel 2.更改配置 sudo gedit ~/.imwheelrc 输入以下内容: ".*"None,  ...

  4. form表单提交后,页面弹出成功或者失败的信息

    Ssm 中用RedirectAttributes做提示消息` @RequiresPermissions("hic:zybl:hicZybl:edit") @RequestMappi ...

  5. 第四届物联网与机器学习国际学术会议(IoTML 2024)

    [ACM独立出版,高录用,见刊检索快速稳定]第四届物联网与机器学习国际学术会议(IoTML 2024) [IoTML 2023会后三个半月内完成EI检索]2024 4th International ...

  6. Linux 增加 swap 分区

    检查当前swap分区 [root@localhost ~]# free -g total used free shared buffers cached Mem: 15 0 14 0 0 0 -/+ ...

  7. Python中r+,w+,a+的区别

    相信有很多人对他们的区别不清楚,网上对他们的讨论又过于复杂. 其实利用光标位置来区分它们就会变得非常地简单. r+读写模式 打开文件之后光标位置位于0的位置 根据光标位置读写 w+写读模式 会清空文件 ...

  8. .NET 个人博客-首页排版优化

    个人博客-首页排版优化 优化计划 置顶3个且可滚动或切换 推荐改为4个,然后新增历史文章,将推荐的加载更多放入历史文章,按文章发布时间降序排列. 标签功能,可以为文章贴上标签 推荐点赞功能 本篇文章优 ...

  9. ZYNQ:使用PetaLinux打包 BOOT.BIN、image.ub

    说明 个人还是比较喜欢灵活去管理各个部分的源码. 有关文章: ZYNQ:PetaLinux提取Linux和UBoot配置.源码 编译Linux 取得Linux源代码和配置后,可以在其中执行make,编 ...

  10. 基于RK3588的8K视频解码显示案例分享!引领超高清工业视频时代

    8K.4K.2K显示对比 2K分辨率:也称为全高清(FULL HD),它具有1920 x 1080像素的分辨率.这是目前大多数消费者电视和电脑显示器的标准分辨率,可以提供良好的图像质量. 4K分辨率: ...