Docker搭建zookeeper集群

前言

假設有三臺主機的,ip分別為:
主機一:192.168.1.76
主機二:192.168.1.35
主機三:192.168.1.82
三臺主機的安裝步驟相似,以主機一為例:

拉取官方zookeeper鏡像:

docker pull zookeeper:3.5

建立掛載目錄

mkdir -p /usr/local/docker/zookeeper/conf
mkdir -p /usr/local/docker/zookeeper/data
cd /usr/local/docker/zookeeper/conf
touch zoo.cfg
vi zoo.cfg

三臺主機的配置文件zoo.cfg的內(nèi)容如下:

clientPort=2181
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
server.1=192.168.1.76:2888:3888
server.2=192.168.1.35:2888:3888
server.3=192.168.1.82:2888:3888

在主機一上為自己分配server id,命令如下:

cd /usr/local/docker/zookeeper/data
touch myid
echo 1 > myid

在主機二上為自己分配server id,命令如下:

cd /usr/local/docker/zookeeper/data
touch myid
echo 2 > myid

在主機三上為自己分配server id,命令如下:

cd /usr/local/docker/zookeeper/data
touch myid
echo 3 > myid

啟動容器

docker run --privileged=true --network=host -v /usr/local/docker/zookeeper/data:/data -v /usr/local/docker/zookeeper/conf:/conf --name=zookeeper -d zookeeper:3.5

命令參數(shù)說明

  • --network=host: 使用主機上的網(wǎng)絡配置,如果不用這種模式,而用默認的bridge模式,會導致容器跨主機間通信失敗
  • -v /usr/local/docker/zookeeper/data:/data:主機的數(shù)據(jù)目錄掛載到容器/data下
  • -v /usr/local/docker/zookeeper/conf:/conf: 主機的配置目錄掛載到容器的/conf下,容器內(nèi)的zkServer.sh默認會讀取/conf/zoo.cfg下的配置
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容