Docker Zookeeper集群安装

机器信息

IP配置
10.192.192.81C4G
10.192.192.91C4G
10.192.192.101C4G

拉取镜像

docker pull zookeeper:3.8.0

创建配置

# 三台机器依次执行
mkdir -p /opt/zookeeper/{conf,data,datalog,logs}
cat >/opt/zookeeper/conf/zoo.cfg<<EOF
# Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里
dataDir=/data

# 事物日志存储地点,如果没提供的话使用的则是 dataDir
dataLogDir=/datalog

# 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位
tickTime=2000

# 集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)
initLimit=5

# 集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)
syncLimit=2

# 默认值为3,不支持以系统属性方式配置。用于配置Zookeeper在自动清理的时候需要保留的快照数据文件数量和对应的事务日志文件。此参数的最小值为3,如果配置的值小于3会自动调整到3
autopurge.snapRetainCount=3

# 默认值为0,单位为小时,不支持以系统属性方式配置。用于配置Zookeeper进行历史文件自动清理的频率。如果配置为0或负数,表示不需要开启定时清理功能
autopurge.purgeInterval=0

# 默认为60,不支持以系统属性方式配置。从Socket层面限制单个客户端与单台服务器之间的并发连接数,即以ip地址来进行连接数的限制。
# 如果设置为0,表示不做任何限制。仅仅是单台客户端与单个Zookeeper服务器连接数的限制,不能控制所有客户端的连接数总和
maxClientCnxns=60

# 3.5.0中的新功能:当设置为false时,可以在复制模式下启动单个服务器,单个参与者可以使用观察者运行,并且群集可以重新配置为一个节点,并且从一个节点。
# 对于向后兼容性,默认值为true。可以使用QuorumPeerConfig的setStandaloneEnabled方法或通过将“standaloneEnabled = false”或“standaloneEnabled = true”添加到服务器的配置文件来设置它。
standaloneEnabled=false

# 内嵌的管理控制台,停用这个服务
admin.enableServer=false

# 开启四字命令,将所有命令添加到白名单中
4lw.commands.whitelist=*

# 集群中服务的列表
server.1=10.192.192.8:2888:3888;2181
server.2=10.192.192.9:2888:3888;2181
server.3=10.192.192.10:2888:3888;2181
EOF
server.1=10.192.207.235:2888:3888;2181
server.2=10.192.207.236:2888:3888;2181
server.3=10.192.207.237:2888:3888;2181

启动Zookeeper

# 10.192.192.8执行
docker run -d --name zookeeper --restart always \
-e ZOO_MY_ID=1 \
-v /opt/zookeeper/conf/zoo.cfg:/conf/zoo.cfg \
-v /opt/zookeeper/data:/data \
-v /opt/zookeeper/datalog:/datalog \
-v /opt/zookeeper/logs:/logs \
--network host zookeeper:3.8.0

# 10.192.192.9执行
docker run -d --name zookeeper --restart always \
-e ZOO_MY_ID=2 \
-v /opt/zookeeper/conf/zoo.cfg:/conf/zoo.cfg \
-v /opt/zookeeper/data:/data \
-v /opt/zookeeper/datalog:/datalog \
-v /opt/zookeeper/logs:/logs \
--network host zookeeper:3.8.0
# 10.192.192.10执行
docker run -d --name zookeeper --restart always \
-e ZOO_MY_ID=3 \
-v /opt/zookeeper/conf/zoo.cfg:/conf/zoo.cfg \
-v /opt/zookeeper/data:/data \
-v /opt/zookeeper/datalog:/datalog \
-v /opt/zookeeper/logs:/logs \
--network host zookeeper:3.8.0

集群检查

三台机器依次执行
docker exec -it zookeeper /bin/bash ./bin/zkServer.sh status
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值