目錄
- 一. 服務器規劃
- 二. 集群部署
- 1. 配置
- 1.1 創建宿主機映射目錄
- 1.2. 創建配置文件(3臺zk節點配置文件一樣)
- 1.3. 配置zookeeper主機id,每個機器id不能相同,需要對應配置文件server后面的值:
- 1.4 修改 zookeeper-home 目錄及子目錄所屬用戶為 yunwei :
- 2. 啟動
- 2.1 開啟端口
- 2.2 啟動服務(用 yunwei 賬號執行)
- 2.3 查看服務器狀態
一. 服務器規劃
主機 |
IP |
端口 |
備注 |
b-mid-24 |
172.16.0.24 |
2181, 2888, 3888 |
2181:對cline端提供服務 3888:選舉leader使用 2888:集群內機器通訊使用(Leader監聽此端口) |
b-mid-25 |
172.16.0.25 |
2181, 2888, 3888 |
|
b-mid-26 |
172.16.0.26 |
2181, 2888, 3888 |
二. 集群部署
注:以下步驟需要分別在三臺主機操作
1. 配置
1.1 創建宿主機映射目錄
mkdir /data/docker/zookeeper-home/{conf,data,logs,datalog} -p
1.2. 創建配置文件(3臺zk節點配置文件一樣)
vi /data/docker/zookeeper-home/conf/zoo.cfg :
# The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/data dataLogDir=/datalog # the port at which the clients will connect clientPort=2181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 server.24=172.16.0.24:2888:3888 server.25=172.16.0.25:2888:3888 server.26=172.16.0.26:2888:3888
1.3. 配置zookeeper主機id,每個機器id不能相同,需要對應配置文件server后面的值:
echo "24" > /data/docker/zookeeper-home/data/myid echo "25" > /data/docker/zookeeper-home/data/myid echo "26" > /data/docker/zookeeper-home/data/myid
1.4 修改 zookeeper-home 目錄及子目錄所屬用戶為 yunwei :
chown -R yunwei:yunwei /data/docker/zookeeper-home
2. 啟動
2.1 開啟端口
firewall-cmd --permanent --add-port=2181/tcp firewall-cmd --permanent --add-port=2888/tcp firewall-cmd --permanent --add-port=3888/tcp firewall-cmd --reload firewall-cmd --list-all
2.2 啟動服務(用 yunwei 賬號執行)
拉取鏡像:
docker pull zookeeper:3.4.10
啟動服務:
docker run -d \ --name zookeeper \ --network host \ --restart=unless-stopped \ -v /data/docker/zookeeper-home/data:/data \ -v /data/docker/zookeeper-home/conf:/conf \ -v /data/docker/zookeeper-home/datalog:/datalog \ -v /data/docker/zookeeper-home/logs:/logs \ -v /etc/localtime:/etc/localtime \ zookeeper:3.4.10
2.3 查看服務器狀態
docker exec -it zookeeper bash zkServer.sh status echo mntr | nc 127.0.0.1 2181 zkCli.sh -server 127.0.0.1:2181 ls /