Zookeeper集群搭建(docker-compose)

初识Zookeeper

Zookeeper提供了一个高性能、高可用,且具备严格的顺序访问控制能力的分布式协调服务。

简单的数据结构,树形结构,类型Linus文件系统。

顺序访问,对于每一个读请求,zk会分配一个全局唯一的递增编号。

高性能,数据存储于内存(笔者认为就是一个内存型树形数据结构数据库)。

常见场景

  • 数据发布订阅
  • 负载均衡
  • 命名服务
  • Master选举
  • 集群管理
  • 配置管理
  • 分布式队列
  • 分布式锁

进入正题集群搭建

环境搭建

准备3台虚拟机,安装好docker-compose,拉取zookeeper镜像

docker pull zookeeper
docker-compose.yml文件
version: '3.7'
services:
    zk:
        image: zookeeper
        container_name: zk
        hostname: zk
        restart: always
        privileged: true
        volumes:
          - /app/zook/data:/data
          - /app/zook/conf:/conf
          - /app/zook/logs:/datalog
        ports:
          - "2181:2181"
          - "3888:3888"
          - "2888:2888"
        environment:
          ZOO_MY_ID: 1
          ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=192.168.1.107:2888:3888 server.3=192.168.1.108:2888:3888

privileged: true 配置给docker容器给超级权限,这样docker容器就可以访问宿主机目录

docker-compose up -d zk

构建容器

zoo.conf配置说明
dataDir=/data
#存储快照文件snapshot的目录(相当于redis的rdb)
dataLogDir=/datalog
#数据log目录(相当于redis的aof)
tickTime=2000
#ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
#需要保留的文件数目,默认是保留3个
autopurge.purgeInterval=0
#ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,需要配置一个1或更大的整数,默认是0,表示不开启自动清理功能
maxClientCnxns=60
#单个客户端与单台服务器之间的连接数的限制,是ip级别的,默认是60,如果设置为0,那么表明不作任何限制
standaloneEnabled=false
#单机默认关闭
admin.enableServer=true
#开启服务端
clientPort=2181
#暴露服务端对外端口
server.1=0.0.0.0:2888:3888
#集群本机
server.2=192.168.1.107:2888:3888
#集群2
server.3=192.168.1.108:2888:3888
#集群3

2181 客户端访问端口

2888 服务端数据同步端口

3888 服务端leader选举端口

zookeeper服务端状态

查看106虚拟机状态follower
在这里插入图片描述
查看107虚拟机状态 leader
在这里插入图片描述

zookeeper客户端基本操作

运行客户端:bin/zkCli.sh
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值