Zookeeper(二)-- 客户端操作命令
一、前提
开启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(二)-- 客户端操作命令的更多相关文章
- 基于Zookeeper实现客户端动态监听服务器上下线
一.在具体实现之前,先来了解一下Zookeeper的监听器的原理: 图中Main()线程作为客户端,当在主线程中创建Zookeeper客户端时,会默认创建两个子线程:Listener和connect, ...
- .NET Core)的ZooKeeper异步客户端
支持断线重连.永久watcher.递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端 阅读目录 什么是ZooKeeper? 项目介绍 提供的功能 使用说明 FAQ 在公司内部 ...
- 1.9 分布式协调服务-Zookeeper(二)
zoo.cfg配置文件分析 tickTime=2000 zookeeper中最小的时间单位长度 (ms) initLimit=10 follower节点启动后与leader节点完成数据同步的时间 ...
- zookeeper curator客户端之增删改查
zookeeper curator客户端之增删改查 zookeeper安装:https://www.cnblogs.com/zwcry/p/10272506.html curator客户端是Apach ...
- ZooKeeper单机客户端的启动流程源码阅读
客户端的启动流程 看上面的客户端启动的脚本图,可以看到,zookeeper客户端脚本运行的入口ZookeeperMain.java的main()方法, 关于这个类可以理解成它是程序启动的辅助类,由它提 ...
- Zookeeper(一)客户端
Zookeeper-客户端 例子: // org.apache.zookeeper.ZooKeeperMain public class ZooKeeperMain { public static v ...
- zookeeper源码分析之二客户端启动
ZooKeeper Client Library提供了丰富直观的API供用户程序使用,下面是一些常用的API: create(path, data, flags): 创建一个ZNode, path是其 ...
- 聊聊、Zookeeper 数据结构和操作命令
Zookeeper 的视图结构跟标准的 Unix 文件系统很像,都有一个根节点 / .在根节点下面就是一个个的子节点,我们称为 ZNode.ZNode 是 Zookeeper 中最小数据单位,在 ZN ...
- Zookeeper(二) zookeeper集群搭建 与使用
一.zookeeper集群搭建 鉴于 zookeeper 本身的特点,服务器集群的节点数推荐设置为奇数台.我这里我规划为三台, 为别为 hadoop01,hadoop02,hadoop03 1. ...
随机推荐
- 登陆时不同浏览器获取session存在的相关疑问?
问题1:在同一个电脑上,登陆成功后,将登陆信息存放到session域中后,使用另一个浏览器访问时,能否获取这个session域中的值? request.getSession().setAttribut ...
- JS地毯式学习二
1.递归算法 a. function box(num){if(num<=1){ return 1;}else{ return num*box(num-1);}}alert(box(5)); b. ...
- java资料——线性表(转)
线性表 线性表(亦作顺序表)是最基本.最简单.也是最常用的一种数据结构.线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的.线性表的逻辑结构简单, ...
- linux中mysql表名默认区分大小写导致表找不到的问题
天将window的项目迁移到linux上面,然后登录时一直报用户表找不到的错误信息. 检查发现数据库中的表名是m_user, 后来才想起来是大小写问题, 找到问题原因,解决方案如下: 修改/etc/m ...
- python with妙用
class aa(): def bb(self): print("hhhh") return "hello world" def __enter__(self) ...
- Unable to resolve target 'android-20'
使用eclipse编写android的app时,出现错误:Unable to resolve target 'android-20'. 参看链接: http://blog.csdn.net/u0134 ...
- android 编译 app
有些编写的app需要放到android的源码中进行编译.放置的路径packages/apps/ 编译方法,参考 http://blog.csdn.net/luoshengyang/article/de ...
- Zookeeper CLI
ZooKeeper命令行界面(CLI)用于与ZooKeeper集合进行交互以进行开发.它有助于调试和解决不同的选项. 要执行ZooKeeper CLI操作,首先打开ZooKeeper服务器(“bin/ ...
- MySQL无法远程连接解决方案
1.查看/etc/mysql/my.cnf配置文件是否只允许本地连接 注释配置:#bind-address = 127.0.0.1,重启MySQL Server 2.防火墙(我用的是iptables) ...
- c++ 的vector、array和数组的比较
ref: http://blog.csdn.net/haust_wang/article/details/49848169