docker安装zookeeper集群

1、服务器下创建日志和数据文件夹

[root@VM-16-3-centos home]# mkdir /home/zookeeper-cluster
[root@VM-16-3-centos home]# mkdir /home/zookeeper-cluster/node1
[root@VM-16-3-centos home]# mkdir /home/zookeeper-cluster/node2
[root@VM-16-3-centos home]# mkdir /home/zookeeper-cluster/node3

2、先安装docker-compose

[root@VM-16-3-centos home]# curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 15.4M  100 15.4M    0     0  34135      0  0:07:53  0:07:53 --:--:-- 49746

3、赋权和看是否安装成功

[root@VM-16-3-centos bin]# chmod +x /usr/local/bin/docker-compose
[root@VM-16-3-centos bin]# docker-compose --version
docker-compose version 1.24.1, build 4667896b

4、若是一台服务器部署三个zk需要创建自己的bridge网络来内部通信

[root@VM-16-3-centos bin]# docker network create --driver bridge --subnet=172.18.0.0/16 --gateway=172.18.0.1 zoonet
30f6d98c9a7077e75424c8e8b7612daa4cc844fa8beaa9ae337bad4b480df2c9

 5、添加docker-compose文件

[root@VM-16-3-centos bin]# mkdir /home/DockerComposeFolder
[root@VM-16-3-centos bin]# vim /home/DockerComposeFolder/docker-compose.yml

 6、编辑yml文件

version: '3.3'

services:
  zoo1:
    image: zookeeper
    restart: always
    privileged: true
    hostname: zoo1
    ports:
      - 2281:2181
    volumes: # 挂载数据
      - /home/zookeeper-cluster/node1/data:/data
      - /home/zookeeper-cluster/node1/datalog:/datalog
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=172.18.0.14:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
    networks:
      default:
        ipv4_address: 172.18.0.14

  zoo2:
    image: zookeeper
    restart: always
    privileged: true
    hostname: zoo2
    ports:
      - 2282:2181
    volumes: # 挂载数据
      - /home/zookeeper-cluster/node2/data:/data
      - /home/zookeeper-cluster/node2/datalog:/datalog
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=172.18.0.15:2888:3888;2181 server.3=zoo3:2888:3888;2181
    networks:
      default:
        ipv4_address: 172.18.0.15

  zoo3:
    image: zookeeper
    restart: always
    privileged: true
    hostname: zoo3
    ports:
      - 2283:2181
    volumes: # 挂载数据
      - /home/zookeeper-cluster/node3/data:/data
      - /home/zookeeper-cluster/node3/datalog:/datalog
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=172.18.0.16:2888:3888;2181
    networks:
      default:
        ipv4_address: 172.18.0.16

networks: # 自定义网络
  default:
    external:
      name: zoonet

 7、批量创建docker容器

[root@VM-16-3-centos bin]# docker-compose -f /home/DockerComposeFolder/docker-compose.yml up -d
Creating dockercomposefolder_zoo3_1 ... done
Creating dockercomposefolder_zoo2_1 ... done
Creating dockercomposefolder_zoo1_1 ... done

8、进入第一个容器验证

[root@VM-16-3-centos bin]# docker exec -it e9c14455d7e8 bash
root@zoo2:/apache-zookeeper-3.8.0-bin# ./bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 2] create /hi
Created /hi
[zk: localhost:2181(CONNECTED) 3] ls /
[hi, zookeeper]

9、进入第二三个容器查看

[root@VM-16-3-centos bin]# docker exec -it b0e3fc5485b2 bash
root@zoo3:/apache-zookeeper-3.8.0-bin# ./bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /
[hi, zookeeper]
[zk: localhost:2181(CONNECTED) 1] root@zoo3:/apache-zookeeper-3.8.0-bin# exit
exit

完美

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值