創建zookeeper集羣數據掛載目錄
mkdir -p /opt/compose-volumes/zk-volumes/zoo{ 1,2,3}
ls -l /opt/compose-volumes/zk-volumes/
total 12
drwxr-xr-x 5 root root 4096 Mar 2 15:12 zoo1
drwxr-xr-x 5 root root 4096 Mar 2 15:12 zoo2
drwxr-xr-x 5 root root 4096 Mar 2 15:12 zoo3
創建存放docker-compose文件目錄
mkdir -p /opt/software/docker-compose/zookeeper
cd /opt/software/docker-compose/zookeeper
編寫docker-compose
vim docker-compose.yml
version : '3.1'
services :
zoo1 :
image : zookeeper
restart : always
hostname : zoo1
ports :
- 2181: 2181
environment :
ZOO_MY_ID : 1
ZOO_SERVERS : server.1=0.0.0.0: 2888: 3888;2181 server.2=zoo2: 2888: 3888;2181 server.3=zoo3: 2888: 3888;2181
volumes :
- /opt/compose- volumes/zk- volumes/zoo1/data: /data
- /opt/compose- volumes/zk- volumes/zoo1/datalog: /datalog
- /opt/compose- volumes/zk- volumes/zoo1/conf: /conf
zoo2 :
image : zookeeper
restart : always
hostname : zoo2
ports :
- 2182: 2181
environment :
ZOO_MY_ID : 2
ZOO_SERVERS : server.1=zoo1: 2888: 3888;2181 server.2=0.0.0.0: 2888: 3888;2181 server.3=zoo3: 2888: 3888;2181
volumes :
- /opt/compose- volumes/zk- volumes/zoo2/data: /data
- /opt/compose- volumes/zk- volumes/zoo2/datalog: /datalog
- /opt/compose- volumes/zk- volumes/zoo2/conf: /conf
zoo3 :
image : zookeeper
restart : always
hostname : zoo3
ports :
- 2183: 2181
environment :
ZOO_MY_ID : 3
ZOO_SERVERS : server.1=zoo1: 2888: 3888;2181 server.2=zoo2: 2888: 3888;2181 server.3=0.0.0.0: 2888: 3888;2181
volumes :
- /opt/compose- volumes/zk- volumes/zoo3/data: /data
- /opt/compose- volumes/zk- volumes/zoo3/datalog: /datalog
- /opt/compose- volumes/zk- volumes/zoo3/conf: /conf
啓動zookeeper集羣
docker-compose up -d
驗證
root@zoo2:/apache-zookeeper-3.5.5-bin/bin
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader
檢查數據是否掛載成功
[ root@instance-i91s0r82 zk-volumes]
.
├── zoo1
│ ├── conf
│ │ ├── zoo.cfg
│ │ └── zoo.cfg.dynamic.next
│ ├── data
│ │ ├── myid
│ │ └── version-2
│ │ ├── acceptedEpoch
│ │ ├── currentEpoch
│ │ └── snapshot.0
│ └── datalog
│ └── version-2
│ └── log.200000001
├── zoo2
│ ├── conf
│ │ ├── zoo.cfg
│ │ └── zoo.cfg.dynamic.next
│ ├── data
│ │ ├── myid
│ │ └── version-2
│ │ ├── acceptedEpoch
│ │ ├── currentEpoch
│ │ ├── snapshot.0
│ │ └── snapshot.200000001
│ └── datalog
│ └── version-2
│ └── log.200000001
└── zoo3
├── conf
│ └── zoo.cfg
├── data
│ ├── myid
│ └── version-2
│ ├── acceptedEpoch
│ ├── currentEpoch
│ └── snapshot.0
└── datalog
└── version-2
└── log.200000001