Zookeeper基本操作

基本介绍

目录结构

# 存放系统脚本
bin 
# 存放配置文件
conf 
# zk 附加功能支持
contrib 
# maven 仓库文件
dist-maven 
# zk 文档
docs 
# 依赖的第三方库
lib 
# 经典场景样例代码
recipes 
# zk 源码
src 

其中 bin 和 conf 是非常重要的两个目录, 平时也是经常使用的

zoo.cfg主要配置参数

clientPort: 参数无默认值, 必须配置, 用于配置当前服务器对外的服务端口, 客户端必须使
用这端口才能进行连接
dataDir: 用于存放内存数据库快照的文件夹, 同时用于集群的 myid 文件也存在这个文件夹
里(注意: 一个配置文件只能包含一个 dataDir 字样, 即使它被注释掉了。 )
dataLogDir: 用于单独设置 transaction log 的目录, transaction log 分离可以避免和普通 log
还有快照的竞争
snapCount:快照生成阈值、默认是100000

ZK会话状态

## CONNECTING
## CONNECTED
## RECONNECTING
## RECONNECTED
## CLOSE

ZK的结构

zk的结构和Unix的结构一样,都是树形结构,

ZK节点类型

# 持久节点类型
PERSISTENT
# 临时节点类型
EPHEMERAL
# 持久带序号节点类型
PERSISTENT_SEQUENTIAL
# 临时带序号节点类型
EPHEMERAL_SEQUENTIAL

持久节点:关闭客户端不会删除,可以有子节点 create /tree1
临时节点:关闭客户端会删除,不能有子节点 create -e /tree1
带序号持久节点:create -s /tree1
带序号临时节点:create -e -s/tree1

ZK基本命令

# 查看
ls /
# 查看详情
ls2 /
# 创建
create /key val
# 查看数据
get /key
# 设置数据
set /key change_val
# 删除
delete /key
# 递归删除
rmr /key
# 退出
quit
# 帮助
help
# 显示历史命令
history

ACL操作

介绍

Zookeeper 的 ACL(Access Control List), 分为三个维度: scheme、 id、 permission
通常表示为: scheme:id:permission
schema:代表授权策略
id:代表用户
permission:代表权限

# 一般来说schema和id相对应
world:anyone:rwcad
auth:user:123456:rw
digest:user:6DY5WhzOfGsWQ1XFuIyzxkpwdPo=:wa
ip:192.168.0.1:wad
# 获取ACL操作
getAcl /key
# 设置ACL操作
setAcl /key
# 注册会话授权信息
addauth /key

getAcl

[zk: localhost:2181(CONNECTED) 31] getAcl /testAcl/acl1
'world,'anyone
: cdrwa

setAcl

# 无认证方式

# 无认证方式
[zk: localhost:2181(CONNECTED) 0] setAcl /testAcl/acl1 world:anyone:crwa

# 认证登录

# 访问拒绝
[zk: localhost:2181(CONNECTED) 4] get /testAcl/acl1
Authentication is not valid : /testAcl/acl1
# 认证
[zk: localhost:2181(CONNECTED) 5] addauth digest user:123456

# 用户认证方式

# 用户认证方式
## 创建用户
addauth digest user:123456
## setAcl用户认证方式
setAcl /testAcl/acl1 auth:user:123456:rwac 
## 查看
[zk: localhost:2181(CONNECTED) 3] getAcl /testAcl/acl1                      
'digest,'user:6DY5WhzOfGsWQ1XFuIyzxkpwdPo=
: crwa

# 用户加密认证方式

[zk: localhost:2181(CONNECTED) 6] setAcl /testAcl/acl1 digest:user:6DY5WhzOfGsWQ1XFuIyzxkpwdPo=:crwa

# ip认证方式

 setAcl /testAcl/acl1 ip:192.168.0.1:crwad

ZK四字命令

安装nc插件

yum install nc

命令详解

echo envi |nc 192.168.1.101 2181 ,输出关于服务环境的详细信息(区别于 conf 命令) 。
echo reqs | nc 192.168.1.101 2181 ,列出未经处理的请求。
echo wchs | nc 192.168.1.101 2181 ,列出服务器 watch 的详细信息。
echo wchc | nc 192.168.1.101 2181 ,通过 session 列出服务器 watch 的详细信息, 它的输出是一个
与 watch 相关的会话的列表。
echo wchp | nc 192.168.1.101 2181 ,通过路径列出服务器 watch 的详细信息。 它输出一个
与 session 相关的路径。
echo stat|nc 192.168.1.101 2181 来查看哪个节点被选择作为 follower 或者 leader
使用 echo ruok|nc 192.168.1.101 2181 测试是否启动了该 Server, 若回复 imok 表示已经启动。
echo dump| nc 192.168.1.101 2181 ,列出未经处理的会话和临时节点。
echo kill | nc 192.168.1.101 2181 ,关掉 server
echo conf | nc 192.168.1.101 2181 ,输出相关服务配置的详细信息。
echo cons | nc 192.168.1.101 2181 ,列出所有连接到服务器的客户端的完全的连接 / 会话的详细信
息 

JAVA中MD5加密类

JDK类:DigestAuthenticationProvider
运行操作
在这里插入图片描述
在这里插入图片描述

数据持久化

# 存放的快照数据
dataDir 
# 存放的是事务日志文件
dataLogDir 

在这里插入图片描述
日志查看方式

java -cp /opt/my_app/zk/zookeeper-3.4.12/zookeeper-3.4.12.jar:/opt/my_app/zk/zookeeper-3.4.12/lib/slf4j-api-1.7.25.jar org.apache.zookeeper.server.LogFormatter log.100000001

在这里插入图片描述

快照查看方式

java -cp /opt/my_app/zk/zookeeper-3.4.12/zookeeper-3.4.12.jar:/opt/my_app/zk/zookeeper-3.4.12/lib/slf4j-api-1.7.25.jar org.apache.zookeeper.server.SnapshotFormatter  snapshot.100000000

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值