docker-compose搭建zookeeper集群
创始人
2024-05-24 23:23:46
0

文章目录

    • docker-compose搭建zookeeper集群
    • zookeeper配置
    • 启动集群
    • 查看docker网络
    • 使用 Docker 命令行客户端连接 ZK 集群

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

docker-compose搭建zookeeper集群

官方配置文档

version: '3.1'
services:zoo1:image: zookeeper:3.6.3restart: alwayscontainer_name: zoo1ports:- "2181:2181"environment:ZOO_MY_ID: 1ZOO_TICK_TIME: 20000ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181volumes:- ./zoo1/data:/data- ./zoo1/datalog:/datalogzoo2:image: zookeeper:3.6.3restart: alwayscontainer_name: zoo2ports:- "2182:2181"environment:ZOO_MY_ID: 2ZOO_TICK_TIME: 20000ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181volumes:- ./zoo2/data:/data- ./zoo2/datalog:/datalogzoo3:image: zookeeper:3.6.3restart: alwayscontainer_name: zoo3ports:- "2183:2181"environment:ZOO_MY_ID: 3ZOO_TICK_TIME: 20000ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181volumes:- ./zoo3/data:/data- ./zoo3/datalog:/datalog

注意:如果使用volumes绑定了/conf,则environment里zookeeper的配置会失效

zookeeper配置

如果没有提供zoo.cfg文件,则使用ZooKeeper推荐的默认值。可以使用以下环境变量覆盖它们。

  • ZOO_TICK_TIME
    用于调节心跳和超时,默认为 2 秒
  • ZOO_INIT_LIMIT
    允许 followers 连接和同步到 leader 的时间量,默认为 5
  • ZOO_SYNC_LIMIT
    允许 followers 与 ZooKeeper 同步的时间量,单位为ticks。如果 followers远远落后于 leader ,他们就会被抛弃。默认为 2
  • ZOO_MAX_CLIENT_CNXNS
    限制单个客户端(通过IP地址标识)可以对ZooKeeper集群的单个成员进行的并发连接数(在套接字级别)。默认为 60
  • ZOO_MY_ID
    搭建Zookeeper集群时需要使用。id在集合中必须唯一,并且其值应介于1和255之间。

在云服务器上搭建zookeeper集群,ZOO_TICK_TIME 这个参数可以设高一些,否则可能会出现超时,例如20000ms。

启动集群

docker-compose up -d
docker-compose ps# 容器状态
NAME                COMMAND                  SERVICE             STATUS              PORTS
zoo1                "/docker-entrypoint.…"   zoo1                running             0.0.0.0:2181->2181/tcp, :::2181->2181/tcp
zoo2                "/docker-entrypoint.…"   zoo2                running             0.0.0.0:2182->2181/tcp, :::2182->2181/tcp
zoo3                "/docker-entrypoint.…"   zoo3                running             0.0.0.0:2183->2181/tcp, :::2183->2181/tcp# 关闭命令
docker-compose down# 进入docker容器命令,id从docker ps里查看
docker exec -it 94d8c551c47 /bin/bash

查看docker网络

docker network lsNETWORK ID     NAME                DRIVER    SCOPE
a94d8c551158   bridge              bridge    local
76bcdaccdcd6   host                host      local
02f6ebe999f9   none                null      local
363589c47b2c   zookeeper_default   bridge    local

使用 Docker 命令行客户端连接 ZK 集群

docker run -it --rm \--link zoo1:zk1 \--link zoo2:zk2 \--link zoo3:zk3 \--net zookeeper_default \zookeeper:3.6.3 zkCli.sh -server zk1:2181,zk2:2181,zk3:2181

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...