feat: 新增zookeeper

This commit is contained in:
2025-02-21 19:25:24 +08:00
parent 8c8e75f466
commit 62af7adf77
26 changed files with 470 additions and 0 deletions
@@ -0,0 +1,24 @@
version: '3.8'
# 网桥 -> 方便相互通讯
networks:
zookeeper:
ipam:
driver: default
config:
- subnet: "172.23.0.0/24"
services:
zookeeper:
image: registry.cn-shanghai.aliyuncs.com/odboy/zookeeper:3.8.4 # 原镜像`zookeeper:3.8.4`
container_name: zookeeper # 容器名
restart: unless-stopped
volumes:
- "./zookeeper/data:/data"
- "./zookeeper/datalog:/datalog"
- "./zookeeper/zoo.cfg:/conf/zoo.cfg"
ports:
- "2181:2181"
networks:
zookeeper:
ipv4_address: 172.23.0.83
@@ -0,0 +1,2 @@
docker-compose -f docker-compose.yml -p zookeeper up -d
docker ps|grep zookeeper|grep 3.8.4|awk '{print $1}'|xargs -I{} docker logs {}
+19
View File
@@ -0,0 +1,19 @@
# Apache Zookeeper 单节点
开源的分布式协调服务,主要用于分布式系统中的配置管理、命名服务、分布式同步和集群管理等
- https://zookeeper.apache.org/doc/r3.8.4/zookeeperStarted.html
### 部署方式
```shell
sh install.sh
```
### 客户端
```shell
# 项目地址
https://github.com/vran-dev/PrettyZoo
# 访问地址
192.168.235.104:2181
```
@@ -0,0 +1 @@
docker-compose -f docker-compose.yml -p zookeeper down
@@ -0,0 +1,24 @@
# Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,
# 也就是每个 tickTime 时间就会发送一个心跳。
tickTime=2000
# 用于集群,允许从节点连接并同步到 master 节点的初始化连接时间,以 tickTime 的倍数来表示;
initLimit=10
# 用于集群, master 主节点与从节点之间发送消息,请求和应答时间长度(心跳机制);
syncLimit=5
admin.serverPort=8887
# 是否启动后台管理
admin.enableServer=true
# 进入后台的命令 只能是 http://localhost:8887/commands 访问
admin.commandUrl=/commands
# 指定了需要保留的文件数目。默认是保留3个
autopurge.snapRetainCount=4
# ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,
# 需要配置一个1或更大的整数,默认是0,表示不开启自动清理功能。
autopurge.purgeInterval=1
# Zookeeper 存储快照文件snapshot的目录
dataDir=/data
# Zookeeper 保存事务日志文件的目录
dataLogDir=/datalog
# 客户端连接Zookeeper 服务器的端口
# Zookeeper 会监听这个端口,接受客户端的访问请求
clientPort=2181