一、前提

  开启zookeeper服务端,用客户端连接。输入help,查看可使用命令,如下图所示:

  

  操作无非就是增删改查等。

二、增加

  格式:create [-s] [-e] path data acl

  path:即路径,由于zookeeper是一个树形结构,所以创建的时候就是一个Path节点,就是路径

  data:节点对应的值,保存的少量数据

  [-s]有序节点  [-e]临时节点

    注:节点临时有序节点、临时节点、持久有序节点 和 持久节点。

  1. 创建节点

  eg:create /node_1 1

  

  2.创建有序的持久化节点

  eg:create  -s  /node_1/node_1_1 2

  3.创建临时节点(基于会话级别)

  eg:create -e  /node_1/node_1_2 3

三、查询

  get path [watch]

  eg:get /node_1

  

四、修改

  set path data [version]

  eg: set /node_1 abc

  

五、删除

  delete path [vsersion]

  eg:delete /node_1

  发现报:Node not empty:/node_1,说明node_1下面存在节点,不可以删除。

  所以,删除其中一个子节点:

  delete /node_1/node_1_1

  

  查看node_1 下面的节点:

  ls /node_1

六、查看

  ls 和 ls2 和 stat

  ls /node_1

  ls2 /node_1

   stat /node_1

  ls2和stat命令输出的信息更加详细,结果一样。

七、给节点设置限制

   setquota -n|-b val path

        -n的时候,val表示创建的子节点数量,path为指定的节点

    -b的时候,val表示创建节点的数据量,path为指定的节点

  1.首先查看/node_1下子节点的数量,使用 : ls /node_1,发现/node_1下面有两个子节点:

    

  2.这里我们设置/node_1下面允许有3个子节点

    setquota -n 3 /node_1

    

  3.我们继续添加一个子节点

     create /node_1/node_1_1 aaa

    

  查看/node_1下面的节点数,有3个,正确的。

  4.再继续添加一个子节点

     create /node_1/node_1_4 bbb

     

  发现也是可以创建的,虽然设置了限制,但是仍然是可以创建成功。同时,会bin/zookeeper.out 输出警告信息。这个时候我们看下日志,

  命令: tail -f zookeeper.out。

八、给节点删除限制(很少用到)

  delquota [-n|-b] path

  eg: delquota -n  /node_1 ,使用这个就删除了刚刚在node_1上加上的限制

  通过get /node_1/node_1_4,可以看到 count=-1,则说明没有限制

  

九、查看事务日志

  退出客户端,进入到 cd /usr/java/zookeeper/server3/data/log/version-2,查看事务日志:

  java -cp ../../../zookeeper-3.4.9/zookeeper-3.4.9.jar:../../../zookeeper-3.4.9/lib/slf4j-api-1.6.1.jar org.apache.zookeeper.server.LogFormatter log.200000001

  

Zookeeper(二)-- 客户端操作命令的更多相关文章

  1. 基于Zookeeper实现客户端动态监听服务器上下线

    一.在具体实现之前,先来了解一下Zookeeper的监听器的原理: 图中Main()线程作为客户端,当在主线程中创建Zookeeper客户端时,会默认创建两个子线程:Listener和connect, ...

  2. .NET Core)的ZooKeeper异步客户端

    支持断线重连.永久watcher.递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端   阅读目录 什么是ZooKeeper? 项目介绍 提供的功能 使用说明 FAQ 在公司内部 ...

  3. 1.9 分布式协调服务-Zookeeper(二)

    zoo.cfg配置文件分析 tickTime=2000  zookeeper中最小的时间单位长度 (ms) initLimit=10  follower节点启动后与leader节点完成数据同步的时间 ...

  4. zookeeper curator客户端之增删改查

    zookeeper curator客户端之增删改查 zookeeper安装:https://www.cnblogs.com/zwcry/p/10272506.html curator客户端是Apach ...

  5. ZooKeeper单机客户端的启动流程源码阅读

    客户端的启动流程 看上面的客户端启动的脚本图,可以看到,zookeeper客户端脚本运行的入口ZookeeperMain.java的main()方法, 关于这个类可以理解成它是程序启动的辅助类,由它提 ...

  6. Zookeeper(一)客户端

    Zookeeper-客户端 例子: // org.apache.zookeeper.ZooKeeperMain public class ZooKeeperMain { public static v ...

  7. zookeeper源码分析之二客户端启动

    ZooKeeper Client Library提供了丰富直观的API供用户程序使用,下面是一些常用的API: create(path, data, flags): 创建一个ZNode, path是其 ...

  8. 聊聊、Zookeeper 数据结构和操作命令

    Zookeeper 的视图结构跟标准的 Unix 文件系统很像,都有一个根节点 / .在根节点下面就是一个个的子节点,我们称为 ZNode.ZNode 是 Zookeeper 中最小数据单位,在 ZN ...

  9. Zookeeper(二) zookeeper集群搭建 与使用

    一.zookeeper集群搭建 鉴于 zookeeper 本身的特点,服务器集群的节点数推荐设置为奇数台.我这里我规划为三台, 为别为 hadoop01,hadoop02,hadoop03    1. ...

随机推荐

  1. LeetCode: Combination Sum II 解题报告

    Combination Sum II Given a collection of candidate numbers (C) and a target number (T), find all uni ...

  2. 一款基于jquery带百分比的响应式进度加载条

    今天要给大家带来一款基于jquery带百分比的响应式进度加载条.这款加载条非常漂亮,而且带有进度的百度比,且在不同的百分比用的是不同的颜色.而且这款加载条采用了响应式设计,在不同的分辨率的显示器下完美 ...

  3. PostMessage与PostThreadMessage的差别

    消息队列是属于线程的,Post消息就是把消息放到目标线程的消息队列中. 这两者的差别在于: PostMessage 通过指定目标窗体句柄来确定目标线程,通常情况下由窗体过程来处理消息: PostThr ...

  4. eclipse中maven打包

    第一种方式:将依赖包打包进一个jar包中. <build> <plugins> <plugin> <artifactId>maven-compiler- ...

  5. Oracle数据误删除的恢复操作

    flashbackup 闪回操作: 1. 打开表的闪回功能: alter table dw_stg.fm_user_play_d enable row movement; 2. 查询要闪回的表的记录信 ...

  6. ios两视图间托付(delegate)传值

    现有两个视图(ViewController.ViewController1),从ViewController中带參数跳转到ViewController1,在ViewController1选中数据后带有 ...

  7. RTMP流媒体播放过程:握手,建立连接,建立流,播放

    本文讲述从打开一个RTMP流媒体到视音频数据开始播放的整个过程. 播放一个流媒体有两个前提步骤: 第一步,建立一个网络连接(NetConnection): 第二步,建立一个网络流(NetStream) ...

  8. android onSaveInstance方法

    为什么需要用到Activity状态保存, 如何用 ? 1)我们希望当前的Activity中的信息不会因为Activity状态的改变,而丢失.比如横竖屏的切换,突然来了个电话. 2) 借助Activit ...

  9. PHP 获取图片中的器材信息

    function getExif($img){ $exif = exif_read_data($img, 'IFD0'); return array ( '文件名' => $exif['File ...

  10. js彈出層或者js彈出引用url Frame 層

    function Popup() { var _this = this; this.CssName = "layermask";//樣式 //遮蓋層 this.hiddLayer ...