zkServer.sh stat
zkServer.sh status
zkCli.sh -server ip:port
create path data
rmr path
ls
get
n 持久非顺序节点
create /node/subnode data
n 持久顺序节点
create -s /node/sencodnode data
自动生成主键使用
n 临时顺序节点
create -e -s /tempnode2 data
n 临时非顺序节点
create -e /tempnode data
临时节点:创建节点的连接关闭后,节点自动被删除 就是临时节点。
持久 / 临时
顺序 / 非顺序
顺序节点:节点序号自增,可以创建子节点
临时节点:随着创建节点的事务关闭而自动删除。 不能创建子节点。
C:ceate
查看一个文件的状态信息
[zk: localhost:2181(CONNECTED) 1] stat /a
cZxid = 0x200000009
ctime = Thu Mar 22 13:07:19 CST 2018
mZxid = 0x200000009
mtime = Thu Mar 22 13:07:19 CST 2018
pZxid = 0x200000009
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1
numChildren = 0
信息说明
状态属性 |
说明 |
cZxid |
数据节点创建时的事务ID |
ctime |
数据节点创建时的时间 |
mZxid |
数据节点最后一次更新时的事务ID |
mtime |
数据节点最后一次更新时的时间 |
pZxid |
数据节点的子节点列表最后一次被修改 (是子节点列表变更,而不是子节点内容变更)时的事务ID |
cversion |
子节点的版本号,当添加/删除子节点的时候发生改变 |
dataVersion |
数据节点的版本号 仅仅当data属性发生改变的时候而改变 |
aclVersion |
数据节点的ACL版本号 |
ephemeralOwner |
如果节点是临时节点,则表示创建该节点的会话的 SessionID; 如果节点是持久节点,则该属性值为0 |
dataLength |
数据内容的长度 |
numChildren |
数据节点当前的子节点个数 |
n 参数
n start
n start-foreground
n stop
n restart
n status
n upgrade
n print-cmd
监视某一个节点,通常情况 监视被删除或者修改。
stat 和 get 区别 前者不显示数据 后者显示数据
修改某个path 下的对应的版本号的数据。Path+版本号做唯一约束进行修改
常常用于处理分布式乐观锁
这个命令 等于 ls + stat
超出配额的时候仅仅给出警告,但是并不抛出异常或者是导致操作失败.
列出历史执行命令
重复执行历史命令
redo 10
以下几个是权限管理
获取权限.
如果有连接 则关闭连接;退出终端。
关闭当前连接 但是不退出客户端
连接某一个zk 的服务器
1、tickTime=2000
以毫秒为单位的心跳。是zk维持分布式服务的一个基本的时间单位。
# The number of milliseconds of each tick
2、initLimit=10
时间表示的是 tickTime*10 ,得到时间是20秒。
新加进来的服务初始化的时候能够容忍的时间。
3、syncLimit=5
同步的时候 经过5个时间单位 同步认为失败。
4、clientPort 表示对外服务提供的端口。 默认数值2181.
当前的zkServer 绑定哪个端口.
5、dataDir 存储的数据 节点的数据、日志
节点数据存放的位置.进程id 当前的服务节点编号.
6、
只有配置集群的时候这个才有意义.
server.X=A:B:C
只有在集群的情况下才使用。
X 表示的服务的编号
A 表示某个服务器的地址
B 服务之间需要交互数据,在数据进行交互的时候所使用的端口
默认数值:2888
C: 选举leader 使用的端口 默认使用3888
Leader 产生:才有投票的算法,帕克西算法.
通常情况下,zk的集群个数是奇数个. 集群新增节点的时候,不影响leader角色.
如果leader退出集群,则集群会自动选举新的leader
分布式框架结构下使用.
提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。
比如项目中经常用到域名,但是ip地址可能会发生改变.使用这个方式避免了因为IP地址发生改变而去重新修改项目的问题.
Zookeeper 当中的节点充当每个服务器访问次数的计数器,当有新的请求发送过来的时候,将新的请求派发给服务次数最少的那个上边.
原文:https://www.cnblogs.com/liujinqq7/p/12819480.html