.net网站程序,网站所有人查询,中关村在线官网,浙江壹设软装设计有限公司1、zookeeper环境搭建#xff08;Windows单机版#xff09;
1.1、 前提
必须安装jdk 1.8#xff0c;配置jdk环境变量#xff0c;步骤略
1.2、安装zookeeper
地址#xff1a;https://zookeeper.apache.org/
1.2.1、选择releases版本 1.2.2、下载安装包并解压 1.2.3、配…1、zookeeper环境搭建Windows单机版
1.1、 前提
必须安装jdk 1.8配置jdk环境变量步骤略
1.2、安装zookeeper
地址https://zookeeper.apache.org/
1.2.1、选择releases版本 1.2.2、下载安装包并解压 1.2.3、配置data位置 复制 zoo_sample.cfg文件改名为zoo.cfg修改dataDir位置 1.3、使用
1.3.1、开启服务端
1.3.2、开启客户端 服务端启动成功显示 客服端启动成功显示 2、zookeeper使用
2.1、帮助命令 help
help查看所有zk命令
ls 查看命令ls -R /quota_test 显示
# /quota_test
# /quota_test/child_1
# /quota_test/child_2/quota_test/child_3ls -s /quota_test显示
# [child_1, child_2, child_3]
# cZxid 0x110000002d
# ctime Thu Mar 07 11:19:07 UTC 2019
# mtime Thu Mar 07 11:19:07 UTC 2019
# pZxid 0x1100000033
# cversion 3
# dataVersion 0
# aclVersion 0
# ephemeralOwner 0x0
# dataLength 0
# numChildren 3ls -w /brokers 为brokers节点添加监视器当brokers添加或删除子节点时会提示
# WATCHER::
#WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/app2
2.2、创建节点
create [-s] [-e] [-c] [-t ttl] path [data] [acl][-s] 自动添加序号自增[-e] 表示为零时节点[-c] 创建容器节点[-t ttl] 创建ttl节点可以指定超时时间3.6.0之后版本出现path 节点路径名 根目录为/每个/代表一层 最后一个/后的内容为当前创建的节点名若节点名前几层的节点不存在时当前节点创建时会报错不会自动创建[data] 节点数据 data 和path类似与 Keyvalue [acl] 节点访问权限
2.3、节点类型
普通永久节点
create /app1 hello zk 创建普通永久节点app1 value为 hello zk
带序号永久节点
create -s /app2 hello zk创建带序号永久节点app1 value为 hello zk 普通临时节点
create -e /app3 hello zk创建普通临时节点app3 value为 hello zk 临时节点当客户端关闭时会被删除 带序号临时节点
create -e -s /app4 hello zk创建普通临时节点app4 value为 hello zk 临时节点当客户端关闭时会被删除
创建容器节点 create -c /container_node mydata 当容器结点的最后一个子节点被删除时容器节点就会被删除
创建ttl节点
#注意 先在zoo.cfg加入extendedTypesEnabledtrue配置否则会报 KeeperErrorCode Unimplemented for /ttl_node 错误
create -t 1000 /app1 hello 创建一个1000ms过时的节点app1 data为hello
创建acl节点
详见 https://blog.csdn.net/yangshangwei/article/details/1097597872.4、获取节点值
get [-s] [-w] path [-s] 查看节点详细信息[-w] 为path设置监听器当data改变时提醒get -s /app1 或者 stat /app1
#前者会多显示一条节点值
# 节点的状态信息也称为stat结构体
# 创建该znode的事务的zxid(ZooKeeper Transaction ID)
# 事务ID是ZooKeeper为每次更新操作/事务操作分配一个全局唯一的id表示zxid值越小表示越先执行
cZxid 0x4454 # 0x0表示十六进制数0
ctime Thu Jan 01 08:00:00 CST 1970 # 创建时间
mZxid 0x4454 # 最后一次更新的zxid
mtime Thu Jan 01 08:00:00 CST 1970 # 最后一次更新的时间
pZxid 0x4454 # 最后更新的子节点的zxid
cversion 5 # 子节点的变化号表示子节点被修改的次数
dataVersion 0 # 当前节点的变化号0表示从未被修改过
aclVersion 0 # 访问控制列表的变化号 access control list
# 如果临时节点表示当前节点的拥有者的sessionId
ephemeralOwner 0x0 # 如果不是临时节点则值为0
dataLength 13 # 数据长度
numChildren 1 # 子节点数据get -w /app1 为app1添加监听器 当使用 set命令修改app1的值时zk监视器会提醒2.5、修改节点值
set /app1 hello set 2.6、删除节点值
delete path 当path存在子节点时无法删除
deleteall path 递归删除path及其子节点