ZooKeeper【客户端命令行】

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

客户端连接ZooKeeper服务器

启动ZooKeeper集群

./zkServer.sh start

启动客户端

./zkCli.sh

 ZooKeeper【客户端命令行】

        我们发现启动客户端时它会默认连接本地的服务器,这是因为zookeeper客户端启动时默认连接的是本地模式。

指定连接集群中的服务器

./zkServer.sh -server hadoop102:2181

 甚至连接别的服务器节点:从hadoop102上连接hadoop103。

ZooKeeper【客户端命令行】

常用命令

查看当前Znode包含的内容

[zk: hadoop102:2181(CONNECTED) 0] ls /
[zookeeper]

查看当前节点的详细信息   

    
ls -s /
ZooKeeper【客户端命令行】
  1. czxid每次修改 ZooKeeper 状态都会产生一个 ZooKeeper 事务 ID。事务 ID ZooKeeper 中所
  2. 有修改总的次序。每次修改都有唯一的 zxid,如果 zxid1 小于 zxid2,那么 zxid1 zxid2
  1. 前发生。
  2. ctime:znode 被创建的毫秒数(从 1970 年开始)
  3. dataversion:znode 数据变化号
  4. aclVersion:znode 访问控制列表的变化号
  5. ephemeralOwner:如果是临时节点,这个是 znode 拥有者的 session id。如果不是
    临时节点则是 0。
  6. dataLength:znode 的数据长度
  7. numChildren:znode 子节点数量
  8. mzxid:znode 最后更新的事务 zxid
  9. mtime:znode 最后修改的毫秒数(从 1970 年开始)
  10. pZxid:znode 最后更新的子节点的 zxid
  11. cversion:znode 子节点变化号,znode 子节点修改次数

节点类型-持久节点

        客户端和服务器端断开连接后,创建的节点不删除。

1、持久化目录节点

        客户端与Zookeeper 断开连接后,该节点依旧存在。

2、持久化顺序编号目录节点

        客户端与Zookeeper 断开连接后,该节点依旧存 在,只是Zookeeper 给该节点名称进行顺序编号。
        创建znode 时设置顺序标识, znode 名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护。这样的好处是, 在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序。

节点类型-短暂节点

        客户端和服务器端断开连接后,创建的节点自己删除。

1、临时目录节点

        客户端与Zookeeper 断开连接后,该节点被删除。

2、临时顺序编号目录节点

        客户端与 Zookeeper 断开连接后 , 该节点被删除,只是Zookeeper给该节点名称进行顺序编号。

创建节点

关键点

  1. 永久目录节点不可以重复创建,但是永久顺序编号目录节点可以重复创建(它会自动在序号后面+1)
  2. 临时目录节点在客户端断开连接后会自动删除。
#创建永久目录节点sanguo 指定值 diaochan
create /sanguo "diaochan"
#创建永久化顺序排列节点/weiguo/zhangliang​ 指定值zhangliang 
create -s /sanguo/weiguo zhangliang "zhangliang"

创建持久化目录节点(不带序号)

 ZooKeeper【客户端命令行】

 创建持久化顺序编号目录节点(带序号)

ZooKeeper【客户端命令行】

创建临时目录节点(不带序号)

#创建临时目录节点
create -e /sanguo/wuguo "sunquan"

创建临时顺序编号目录节点(带序号)

#创建临时顺序编号节点
create -e -s /sanguo/wuguo "sunquan"

 获取节点信息

#获取节点 /sanguo 的信息
get -s /sanguo 

ZooKeeper【客户端命令行】

修改节点的值

#将caocao 改为 simayi
set /sanguo/weiguo "simayi"

ZooKeeper【客户端命令行】

监听节点信息

客户端申请注册,并选择监听的节点,当该节点发生变化的时候,会第一时间发送给该客户端。

常见的监听

  1. 节点的数据变化(get -w 节点)
  2. 节点的数量变化(ls -w 节点)

注意注册一次监听只能监听一次变化,想要再次监听需要重新注册。

例1:我们在hadoop104注册监听,在hadoop102上修改/sanguo的信息 :

ZooKeeper【客户端命令行】

 例2:我们在hadoop104注册监听节点数量的变化,在hadoop102上增加节点:

ZooKeeper【客户端命令行】

 节点的删除

删除单个节点

delete /wuguo

 ZooKeeper【客户端命令行】

递归删除节点

deleteall /sanguo

 ZooKeeper【客户端命令行】

查看节点状态

        查看节点状态不能查看节点数据(节点数据就是创建节点时指定的引号里的内容) ,效果和获取节点信息(get -s /sanguo)基本一样(只是少了一行节点数据)。文章来源地址https://www.toymoban.com/news/detail-511432.html

stat /zookeeper

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

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

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

相关文章

  • Mysql数据库(五) Mysql命令行客户端:内连接查询、左连接查询、右连接查询、自连接查询、子查询

    Mysql数据库(五) Mysql命令行客户端:内连接查询、左连接查询、右连接查询、自连接查询、子查询

    目录 一、 连接查询 对多个表进行查询 1.0 数据准备 1.1 连接查询 1.2 内连接 INNER JOIN 1.3 左连接 LEFT JOIN 1.4 右连接 RIGHT JOIN 1.5 FULL OUTER JOIN 1.6 自连接查询 1.7 子查询-嵌套在查询中 在之前的文章当中,我们在 base_1 当中有了一个 stu 表,记录的是学生的name age height等信息 第一步

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

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

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

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

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

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

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

    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日
    浏览(9)
  • Zookeeper中的客户端配置认证(zoo_client.conf)

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

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

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

    2024年02月02日
    浏览(16)
  • 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日
    浏览(11)
  • java socket Server TCP服务端向指定客户端发送消息;可查看、断开指定连接的客户端;以及设置客户端最大可连接数量。

    首先需要知道java里如何创建一个Socket服务器端。 提示:注意server.accept()方法调用会阻塞,只有新的客户端连接后才返回一个新的socket对象。如果一直未连接那么会一直处于阻塞状态 了解了如何创建一个socket服务器端后。那么如何实现给指定的连接客户端发送消息呢?首先我

    2024年02月11日
    浏览(15)
  • Zookeeper客户端ZkClient、Curator的使用,史上最详细的教程来啦~

    Zookeeper客户端ZkClient、Curator的使用,史上最详细的教程来啦~

    本文主要介绍了操作Zookeeper的几种客户端的基础使用,希望对老铁们会有所帮助。 可以去操作zookeeper创建、删除、查询、修改znode节点 目前,Zookeeper服务器有三种Java客户端: Zookeeper、Zkclient和Curator Zookeeper: Zookeeper是官方提供的原生java客户端 Zkclient: 是在原生zookeeper客户端

    2023年04月20日
    浏览(25)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包