搭建起一個zookeeper的集群環境,選擇三台機器作為測試(zookeeper的集群環境節點數最好的是>=3且為奇數)
選用三台虛擬機機器(三台機器上需要配置好jdk環境):
- Node1:192.168.153.133
- Node2:192.168.153.137
- Node3:192.168.153.138
首先下載zookeeper的穩定版,地址https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz,官網地址:
下載完成之后解壓,放在指定地址(我這里在usr目錄下創建了一個opt目錄,將zookeeper放在此目錄下),然后執行以下操作:
cd /usr && mkdir opt cd /usr/opt/ #下載zookeeper wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz #進入zookeeper目錄 cd /usr/opt/ #執行解壓命令 tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz #重命名 mv apache-zookeeper-3.5.6-bin/ zookeeper #進入文件夾 cd zookeeper/ #創建一個數據存儲目錄以及日志存儲目錄 mkdir data && mkdir logs #拷貝一份配置文件,后期使用zoo.cfg cp conf/zoo_sample.cfg zoo.cfg #編輯配置文件 vim conf/zoo.cfg
編輯配置文件,主要修改以下地方(后面幾台機器的配置也是如此,只不過是ip地址不同,記得修改):
dataDir=/tmp/zookeeper 修改為:dataDir=/usr/opt/zookeeper/data #添加以下內容: #添加日志存儲目錄 dataLogDir=/usr/opt/zookeeper/logs #修改ip,防止ip為localhost clientPortAddress=192.168.153.133 #集群機器配置,2888為對外訪問地址,3888為leader節點掛了之后的集群選舉地址
server.0=192.168.153.133:2888:3888
server.1=192.168.153.137:2888:3888
server.2=192.168.153.138:2888:3888
之后加入本機節點信息:
#進入數據存儲目錄 cd /usr/opt/zookeeper/data/ #新建一個myid,並加入內容為0(每台機器的值不同,根據前面zookeeper的server.n來加入不同的內容,對應着server.n后面的n) vim myid #加入內容並保存
然后配置zookeeper的環境變量:
#編輯文件 vim /etc/profile
加入以下內容(視本機的zookeeper目錄而定):
export ZOOKEEPER_HOME=/usr/opt/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
編輯好之后生效配置文件:
source /etc/profile
其他幾台機器的配置也是一樣,參照以上描述,修改主機地址以及myid的內容即可
三台機器環境都配置好之后,接下來可以開始啟動zookeeper,在zookeeper目錄下執行命令:
bin/zkServer.sh start
每台機器都啟動之后,執行以下命令查看狀態:
bin/zkServer.sh status
zookeeper集群會自動對節點進行leader選舉,執行上面命令后,zookeeper會顯示當前節點的狀態,比如:


至此,就完成了zookeeper的集群搭建啦,最后附上一個停止命令:
bin/zkServer.sh stop
