一集群搭建:本次使用docker-compose.yml来搭建三个节点的zookeeper
1. 如果linux没安装docker-compose:
1.curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 2. chmod +x /usr/local/bin/docker-compose 3. docker-compose --version
2.编写docker-compose.yml文件:
version: '3'
services:
zoo1:
image: zookeeper
restart: always
ports:
- 2182:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
zoo2:
image: zookeeper
restart: always
ports:
- 2183:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
zoo3:
image: zookeeper
restart: always
ports:
- 2184:2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
3. 执行 docker-compose up -d 命令,等待安装完即可

二:zookeeper常用命令:
1. 登录其中一个节点使用命令: docker exec -it 容器Id /bin/bash
2. 进入容器后,cd bin进入到bin目录,然后执行 zkCli.sh -server 127.0.0.1:2181 连接上zookeeper客户端

3. 使用命令 ls -R / 查询当前zookeeper的目录:

4. 创建一个永久节点: create 目录 数据 如: create /order "ddddd" 重复执行该命令会报错
5. 获取节点的数据: get 目录 如: get /order
6. 创建一个永久顺序节点: create -s 目录 数据 如: create -s /order/dto "6666" 执行2次该命令,就多了2条数据
7. 创建临时节点: create -e 目录 数据: 如 create -e /order/temp "ddd" 重复执行该命令会报错
8. 创建临时顺序节点: create -es 目录 数据 如:create -es /order /temp2 "ccc" 执行2次会多2条数据

临时节点:当你退出客户端连接时,再次进来,临时节点就不存在了
9:退出客户端并且再次连接: 使用:quit命令退出客户端,然后再用命令zkCli.sh -server 127.0.0.1:2181 进行连接客户端:此时使用 ls -R /order观察临时节点是否还存在

10. 给目录增加一次监控: ls -w 目录 如:ls -w /order 当/order节点发生改变时,如增加子节点,删除子节点会得到通知,当如果是改数据的话就不会得到通知

11. 对路径增加永久监控:命令:addWatch -m PERSISTENT 目录 如 addWatch -m PERSISTENT /order 对order目录的修改会触发监控,但对/order下的子节点修改不会触发监控,如
create /order/order/dto0000000000/kk "aa" 不会触发监控,如果要子路径修改也触发监控,使用命令 addWatch -m PERSISTENT_RECURSIVE 目录 如: addWatch -m PERSISTENT_RECURSIVE /order
12. 删除节点:delete 目录 如 delete /order,只能删除最后一级的目录,如果有子目录会报错,如果要删除包含子目录的节点,使用命令 deleteall 目录 如:deleteall /order

13. 设置节点的值: set 目录 值: 如 set /order "ddd"
14. 查询集群的配置: config -c | -w |-s

15. 查询历史执行的命令 history
16. 重复执行历史的某个命令 redo +上面查询到的序号
