前言

本文介绍关于docker-compose安装zookeeper。


zookeeper配置

创建预挂载的配置文件目录

mkdir -p /mydata/zookeeper/zoo1/conf
mkdir -p /mydata/zookeeper/zoo2/conf
mkdir -p /mydata/zookeeper/zoo3/conf

编辑配置文件zoo.cfg

放置到上面创建的文件目录下

#心跳时间2秒 
tickTime=2000
#Follower跟随者服务器与Leader领导者服务器之间初始化连接时能容忍的最多心跳数10*tickTime 
initLimit=10
#集群中Leader与Follower之间的最大响应时间单位5*tickTime 
syncLimit=5
#存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志 
dataDir=/data
dataLogDir=/logs
#zookeeper端口 
clientPort=2181
#server.1代表一台服务器的编号,第一个端口代表Leader选举的端口,第二个端口为Zookeeper服务器之间的通信接口 
server.1=zoo1:2881:3881
server.2=zoo2:2882:3882
server.3=zoo3:2883:3883


编写docker-compose-zookeeper.yml

version: '3.1'
services:
  zoo1:
    image: zookeeper:latest
    restart: always
    hostname: zoo1
    container_name: zoo1
    ports:
      - 2181:2181 # client port
      - 2881:2888 # follower port
      - 3881:3888 # election port
    volumes:
      - /etc/localtime:/etc/localtime
      - /mydata/zookeeper/zoo1/data:/data 
      - /mydata/zookeeper/zoo1/conf/zoo.cfg:/conf/zoo.cfg 
      - /mydata/zookeeper/zoo1/logs:/datalog
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=zoo1:2881:3881 server.2=zoo2:2882:3882 server.3=zoo3:2883:3883;
  Zoo2:
    image: zookeeper:latest
    restart: always
    hostname: zoo2
    container_name: zoo2
    ports:
      - 2182:2181 # client port
      - 2882:2888 # follower port
      - 3882:3888 # election port
    volumes:
      - /etc/localtime:/etc/localtime
      - /mydata/zookeeper/zoo2/data:/data 
      - /mydata/zookeeper/zoo2/conf/zoo.cfg:/conf/zoo.cfg 
      - /mydata/zookeeper/zoo2/logs:/datalog
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2881:3881 server.2=zoo2:2882:3882 server.3=zoo3:2883:3883;
  Zoo3:
    image: zookeeper:latest
    restart: always
    hostname: zoo3
    container_name: zoo3
    ports:
      - 2183:2181 # client port
      - 2883:2888 # follower port
      - 3883:3888 # election port
    volumes:
      - /etc/localtime:/etc/localtime
      - /mydata/zookeeper/zoo3/data:/data 
      - /mydata/zookeeper/zoo3/conf/zoo.cfg:/conf/zoo.cfg 
      - /mydata/zookeeper/zoo3/logs:/datalog
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2881:3881 server.2=zoo2:2882:3882 server.3=zoo3:2883:3883;
networks:
  default:
    external:
      name: cjnetwork

启动服务

docker-compose -f /root/docker-compose-zookeeper.yml up -d    # -f + docker-compose脚本名

验证启动情况

docker ps    # 查看运行中的容器

关闭服务

docker-compose -f /root/docker-compose-zookeeper.yml stop    #方式一:关闭制定文件下所有容器, -f + docker-compose脚本名
docker stop zookeeper    #方式二:关闭某个容器,zookeeper 容器名

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐