每天学点Zookeeper之客户端命令

以下内容以 apache-zookeeper-3.6.3 版本为基准

1.服务端命令

# 启动
sh bin/zkServer.sh start
# 停止
sh bin/zkServer.sh stop
# 重启
sh bin/zkServer.sh restart
# 查看状态
sh bin/zkServer.sh status

2.客户端命令

2.1 启动客户端【zkCli.cmd/zkCli.sh】

命令结构:sh zkCli.sh [-waitforconnection] [-timeout ms] [-client-configuration /path/client.properties] [-server host:port]
功能说明:启动客户端

参数说明
-waitforconnection网络连通成功后,执行连接命令。如果无法连通,退出。
-timeout ms超时重连,单位:毫秒
–client-configuration /path/client.properties指定客户端配置属性文件
-server host:port设置主机和端口。默认:localhost:2181
# windows 系统情况下可以通过 git 命令控制器执行
sh zkCli.sh
# windows 系统通过 cmd 控制器输入命令
./zkCli.sh

2.2 会话命令【connect/close】

命令结构:connect [host:port]
功能说明:连接 Zookeeper 服务端

参数说明
host:port服务端IP和端口。默认:localhost:2181

命令结构:close
功能说明:断开客户端或会话

2.3 工具命令【quit/help/history】

命令参数说明
quit退出客户端
h/help帮助命令,查看命令集
history查看历史命令
version查看 Zookeeper 客户端的版本
redohistory_index(0~n)重新执行历史命令,根据下标执行
syncpath在leader和follower之间同步一个节点的数据(异步同步)
printwatcheson/off打印监控器开关

2.4 节点命令

2.4.1 查看节点【ls/stat/get/getAllChildrenNumber/getEphemerals】

命令结构:ls [-s] [-w] [-R] path
功能说明:列出指定路径的子节点

参数说明
-s查看节点状态
-w设置一次性监控器(子节点改变的时候触发)。printwatches 为 on 时打印监听器信息。
-R递归查看子节点
path指定路径

命令结构:stat [-w] path
功能说明:查看节点的状态/元数据

参数说明
-w设置一次性监控器(节点改变的时候触发)。printwatches 为 on 时打印监听器信息。
path指定路径

命令结构:get [-s] [-w] path
功能说明:获取指定路径的数据

参数说明
-s显示节点状态
-w设置一次性监控器(节点数据改变的时候触发)。printwatches 为 on 时打印监听器信息。
path指定路径

命令结构:getAllChildrenNumber path
功能说明:获取路径下的所有子节点数量

参数说明
path指定路径

命令结构:getEphemerals
功能说明:获取当前会话创建的临时节点

2.4.2 创建节点【create】

命令结构:create [-s] [-e] [-c] [-t ms] path [data] [acl]
功能说明:创建节点(持久/临时、顺序)

参数说明
-s顺序节点,默认:非顺序
-e临时节点,默认:持久节点
-c容器节点,默认:非容器。容器中的子节点全部删除后,该节点自动被清除。
-t ms过期节点,单位:毫秒。节点超过指定时间后被自动清除。
前提设置系统参数 zookeeper.extendedTypesEnabled=true
path指定路径
data数据
acl访问权限,默认world

2.4.3 删除节点【delete/deleteall】

命令结构:delete [-v version] path
功能说明:删除指定路径的节点

参数说明
-v versioncversion 版本号,如果版本错误,命令执行失败
path指定路径

命令结构:deleteall path [-b batch size]
功能说明:删除指定路径的所有节点

参数说明
path节点路径
-b batch_size分批删除的个数

2.4.4 修改节点【set】

命令结构:set [-s] [-v version] path data
功能说明:设置/更新指定路径节点的数据

参数说明
-s显示当前节点的数据
-v versiondataVersion 版本号,如果版本错误,命令执行失败
path指定路径
data数据

2.4.5 添加监控器【addWatch】

命令结构:addWatch [-m mode] path
功能说明:设置指定节点的监控器(持久

参数说明
-m modePERSISTENT(默认)、 PERSISTENT_RECURSIVE
path指定路径

2.4.6 移除监控器【removewatches】

命令结构:removewatches path [-c|-d|-a] [-l]
功能说明:移除指定节点的监控器

参数说明
path指定路径
-c
-d
-a
-l

2.4.7 设置配额【setquota】

命令结构:setquota -n|-b val path
功能说明:设置指定路径的配额。如果超出了配置限制,ZooKeeper将会在 log(*.out)日志中打印 WARN 日志。如果超出配额限制,并不会停止行为操作

参数说明
-n number命名空间,限制子节点数量
-b size字节,限制节点字节数
path指定路径

2.4.8 查询配额【listquota】

命令结构:listquota path
功能说明:查看指定路径的配额

参数说明
path指定路径

2.4.9 删除配额【delquota】

命令结构:delquota [-n|-b] path
功能说明:查看指定路径的配额

参数说明
-n命名空间,子节点配额
-b字节,节点字节数
path指定路径

2.5 权限命令

2.5.1 添加授权用户【addauth】

命令结构:addauth scheme auth
功能说明:为ACL添加授权用户

参数说明
schemedigest
auth

2.5.2 查看 ACL【getAcl】

命令结构:getAcl [-s] path
功能说明:获取指定路径的ACL权限

参数说明
-s显示节点的状态
path指定路径

2.5.3 设置 ACL【setAcl】

命令结构:setAcl [-s] [-v version] [-R] path acl
功能说明:设置节点的Acl权限

参数说明
-s查看节点状态
-v versioncversion 版本号,如果版本错误,命令执行失败
-R递归设置子节点
path指定路径
acl访问权限,默认world

2.6 集群配置命令

2.6.1 查看配置【config】

命令结构:config [-c] [-w] [-s]
功能说明:显示集群成员的配置

参数说明
-c
-w
-s

2.6.2 重置配置【reconfig】

注意
(1)zoo.cfg 添加配置 reconfigEnabled=true
(2)请添加超级用户或 skipAcl,否则会显示权限不足。例如:addauth digest zookeeper:admin

命令结构:reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,…]]] | [-add serverId=host:port1:port2;port3[,…]] [-remove serverId[,…]*]
功能说明:在运行时期间更改集成的成员关系。

参数说明
-s
-v version
-file path
-members serverID=host:port1:port2;port3[,…]*
-add serverId=host:port1:port2;port3[,…]*
-remove serverId[,…]*

3.四字命令

通过 telnet 或 nc 向 ZooKeeper 提交相应的命令

# 查看哪个节点被选择作为follower或者leader
echo stat|nc 127.0.0.1 2181

# 测试是否启动了该Server,若回复imok表示已经启动
echo ruok|nc 127.0.0.1 2181

# 列出未经处理的会话和临时节点
echo dump|nc 127.0.0.1 2181

# 关掉server
echo kill|nc 127.0.0.1 2181

# 输出相关服务配置的详细信息
echo conf|nc 127.0.0.1 2181

# 列出所有连接到服务器的客户端的完全的连接/会话的详细信息
echo cons|nc 127.0.0.1 2181

# 输出关于服务环境的详细信息
echo envi|nc 127.0.0.1 2181

# 列出未经处理的请求
echo reqs|nc 127.0.0.1 2181

# 列出服务器 watch 的详细信息
echo wchs|nc 127.0.0.1 2181

# 通过 session 列出服务器 watch 的详细信息
echo wchc|nc 127.0.0.1 2181

# 通过路径列出服务器 watch 的详细信息
echo wchp|nc 127.0.0.1 2181

4.参考

5.FAQ

如何配置系统参数

答:需要修改 zkServer.sh 文件。例如,添加 参数 zookeeper.extendedTypesEnabled=true

nohup "$JAVA" $ZOO_DATADIR_AUTOCREATE "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" \
"-Dzookeeper.log.file=${ZOO_LOG_FILE}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
"-Dzookeeper.extendedTypesEnabled=true" \
-XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError='kill -9 %p' \
-cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值