当前位置: 首页 > news >正文

docker compose部署zookeeper

单机部署

  • 新建docker-compose.yaml
version: '3'
services:zookeeper:image: zookeeper:3.5.7container_name: base-zookeeperhostname: zookeeperprivileged: truerestart: alwaysports:- 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 KazooClientzk = KazooClient(hosts='zookeeper:2181')  # # 创建一个ZooKeeper客户端实例
zk.start()  # 启动ZooKeeper客户端连接# 检查是否成功连接到ZooKeeper
if 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()# 检查是否成功连接到ZooKeeper
if 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')
def watch_children(children):print("this is watch_children %s" % children)# 监听器监听数据,当节点数据发生变化时触发
@zk.DataWatch("/app_01")
def watch_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客户端连接
http://www.lryc.cn/news/127493.html

相关文章:

  • 【SA8295P 源码分析】77 - QNX Camera 之 ais_server 服务 源码分析
  • 内网搭建电影网站的实现和进行公网访问
  • 5.4 常用滤波算法
  • 【算法系列篇】双指针
  • Web和云开发,Rust会起飞?
  • 深度学习项目学习
  • 【3Ds Max】弯曲命令的简单使用
  • opencv基础:几个常用窗口方法
  • web后端解决跨域问题
  • 06 json数据解析和列表控件
  • 分布式 - 消息队列Kafka:Kafka生产者架构和配置参数
  • MAUI+Blazor:windows 打包踩坑
  • web集群学习:搭建 LNMP应用环境
  • 我的创作纪念日(256天)
  • Vue 转 React 指南
  • Oracle外部表ORACLE_LOADER方式加载数据
  • 【RocketMQ】NameServer总结
  • Wordcloud | 风中有朵雨做的‘词云‘哦!~
  • 《孤注一掷》现实版:29万打水漂,华为程序员也躲不过的诈骗
  • C语言库函数之 qsort 讲解、使用及模拟实现
  • Maven之mirrorof范围
  • 游戏中的UI适配
  • 【Linux命令详解 | gzip命令】 gzip命令用于压缩文件,可以显著减小文件大小
  • IP 协议的相关特性和数据链路层相关知识总结
  • 探索C语言中的常见排序算法
  • 【UE】Web Browser内嵌网页在场景中的褪色问题
  • rust入门系列之Rust介绍及开发环境搭建
  • embed mongodb 集成spring
  • ssh远程连接服务器
  • 性能分析之MySQL慢查询日志分析(慢查询日志)