目錄
一、建立并進入zookeeper的安裝目錄
二、下載下傳并解壓縮zookeeper-3.4.9.tar.gz
三、zookeeper配置
四、啟動zookeeper服務
五、叢集配置
一、建立并進入zookeeper的安裝目錄
mkdir -p /usr/local/services/zookeeper
cd /usr/local/services/zookeeper
二、下載下傳并解壓縮zookeeper-3.4.9.tar.gz
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
tar -zxvf zookeeper-3.4.9.tar.gz
三、zookeeper配置
- 進入zookeeper目錄下的conf目錄
- 将zoo_sample.cfg檔案複制一份,并重命名為zoo.cfg
cp zoo_sample.cfg zoo.cfg
- 編輯配置檔案zoo.cfg
vim zoo.cfg
# The number of milliseconds of each tick
# zookeeper定義的基準時間間隔,機關是毫秒
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=/usr/local/service/zookeeper/zookeeper-3.4.9/data
#日志檔案夾
dataLogDir=/usr/local/service/zookeeper/zookeeper-3.4.9/logs
# the port at which the clients will connect
#用戶端通路zookeeper的端口号
clientPort=2181
# the maximum number of client connections.
- wq!儲存zoo.cfg檔案後,進入到bin目錄中,編輯系統配置檔案profile
vim /etc/profile
在檔案尾部追加如下内容
export ZOOKEEPER_HOME=/usr/local/services/zookeeper/zookeeper-3.4.9/
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH
使配置立即生效
source /etc/profile
四、啟動zookeeper服務
啟動zookeeper服務:zkServer.sh start
檢視zookeeper狀态:zkServer.sh status
關閉zookeeper服務:zkServer.sh stop
重新開機zookeeper服務:zkServer.sh restart
五、叢集配置
- 編輯/etc/hosts,配置好位址和主機名映射關系,例如
192.168.100.1 server1
192.168.100.2 server2
192.168.100.3 server3
- 配置檔案
cp zoo_sample.cfg zk1.cfg
cp zoo_sample.cfg zk2.cfg
cp zoo_sample.cfg zk3.cfg
- 配置說明
格式:server.A=B:C:D
A表示這台伺服器的編号ID,是一個數字
B表示伺服器的IP位址或域名
C表示這台伺服器與叢集中的Leader交換資訊時使用的端口
D表示執行選舉Leader伺服器時互相通信的端口
- zk1.cfg
#指定資料檔案夾和日志檔案夾
dataDir= /usr/local/service/zookeeper/zookeeper-3.4.9/data/zk1
dataLogDir= /usr/local/service/zookeeper/zookeeper-3.4.9/logs/zk1
#指定端口
clientPort=2181
#server.序号= (主機名, 心跳端口、資料端口)
server.1= 192.168.100.1:2888:3888
server.2= 192.168.100.2:2888:3888
server.3= 192.168.100.3:2888:3888
- zk2.cfg
#指定資料檔案夾和日志檔案夾
dataDir=/usr/local/service/zookeeper/zookeeper-3.4.9/data/zk2
dataLogDir=/usr/local/service/zookeeper/zookeeper-3.4.9/logs/zk2
#指定端口
clientPort=2181
#server.序号= (主機名, 心跳端口、資料端口)
server.1= 192.168.100.1:2888:3888
server.2= 192.168.100.2:2888:3888
server.3= 192.168.100.3:2888:3888
- zk3.cfg
dataDir=/usr/local/service/zookeeper/zookeeper-3.4.9/data/zk3
dataLogDir=/usr/local/service/zookeeper/zookeeper-3.4.9/logs/zk3
#指定端口
clientPort=2181
#server.序号= (主機名, 心跳端口、資料端口)
server.1= 192.168.100.1:2888:3888
server.2= 192.168.100.2:2888:3888
server.3= 192.168.100.3:2888:3888
- 在每個檔案夾中建立一個myid檔案,内容為其對應的id号
echo "1" > /usr/local/service/zookeeper/zookeeper-3.4.9/data/zk1/myid
echo "2" > /usr/local/service/zookeeper/zookeeper-3.4.9/data/zk2/myid
echo "3" > /usr/local/service/zookeeper/zookeeper-3.4.9/data/zk3/myid
- 啟動服務
zkServer.sh start zk1.cfg
zkServer.sh start zk2.cfg
zkServer.sh start zk3.cfg