0


docker compose部署zookeeper

单机部署

  • 新建docker-compose.yaml
version:'3'services:zookeeper:image: zookeeper:3.5.7
    container_name: base-zookeeper
    hostname: zookeeper
    privileged:truerestart: always
    ports:- 2181:2181environment:TZ:"Asia/Shanghai"volumes:- ./volumes/zookeeper/datalog:/datalog
      - ./volumes/zookeeper/logs:/logs
      - ./volumes/zookeeper/data:/data
      - ./volumes/zookeeper/conf:/conf
  • 使用docker-compose启动
docker-compose-f docker-compose.yaml up -d
  • 测试连接
docker-compose-f docker-compose.yaml exec-it zookeeper zkCli.sh -serv
er zookeeper

看到下面信息表示客户端连接成功
在这里插入图片描述

  • 测试使用
set /name zs
get /name

在这里插入图片描述

集群部署

todo

python访问测试

  • 安装库
pip install kazoo -i https://pypi.douban.com/simple
  • 新建test_zk.py
from kazoo.client import KazooClient

zk = KazooClient(hosts='zookeeper:2181')# # 创建一个ZooKeeper客户端实例
zk.start()# 启动ZooKeeper客户端连接# 检查是否成功连接到ZooKeeperif zk.connected:print("成功连接到ZooKeeper!")# 进行其他操作,例如创建节点、获取节点数据等
zk.set('/name',b'zs')
value = zk.get('/name')print(value)

zk.stop()# 关闭ZooKeeper客户端连接
  • 运行在这里插入图片描述

python常用操作

from kazoo.client import KazooClient

# 创建一个ZooKeeper客户端实例
zk = KazooClient(hosts='zookeeper:2181')# 启动ZooKeeper客户端连接
zk.start()# 检查是否成功连接到ZooKeeperif zk.connected:print("成功连接到ZooKeeper!")# 进行其他操作,例如创建节点、获取节点数据等
zk.create('/app_01',b'app_01')# 创建节点
zk.exists('/app_01')# 检查节点是否存在
zk.get('/app_01')# 获取节点数据
zk.set('/app_01',b'app_01_back')# 修改节点数据

zk.create('/app_01/sub_app_01')
zk.create('/app_01/sub_app_02')
zk.get_children('app_01')# 获取指定节点的所有子节点
zk.delete('app_01/sub_app_01')# 删除节点# 监听器监听子节点,当子节点发生变化时触发@zk.ChildrenWatch('/app_01')defwatch_children(children):print("this is watch_children %s"% children)# 监听器监听数据,当节点数据发生变化时触发@zk.DataWatch("/app_01")defwatch_data(data, state):print("app_01 node is %s"% data)# 事务,自v3.4以后,zookeeper支持一次发送多个命令,这些命令作为一个原子进行提交,要么全部执行成功,要么全部失败
transaction = zk.transaction()
transaction.check('/china/beijing', version=3)
transaction.create('/china/shanghai',b"shanghai")
results = transaction.commit()

zk.stop()# 关闭ZooKeeper客户端连接
标签: docker zookeeper

本文转载自: https://blog.csdn.net/qq_43347021/article/details/132313810
版权归原作者 m_merlon 所有, 如有侵权,请联系我们删除。

“docker compose部署zookeeper”的评论:

还没有评论