注意點:最新版本3.5.5開始,帶有bin名稱的包才是我們想要的下載可以直接使用的里面有編譯后的二進制的包,而之前的普通的tar.gz的包里面是只是源碼的包無法直接使用。
一、單機安裝
1.1 下載
進入要下載的版本的目錄,選擇.tar.gz文件下載
下載鏈接:http://archive.apache.org/dist/zookeeper/
1.2 安裝
使用tar解壓要安裝的目錄即可,以3.4.13版本為例
這里以解壓到/opt/data/software,實際安裝根據自己的想安裝的目錄修改(注意如果修改,那后邊的命令和配置文件中的路徑都要相應修改)
tar -zxf zookeeper-3.4.13.tar.gz -C /opt/data/software
1.3 配置
在主目錄下創建data和logs兩個目錄用于存儲數據和日志:
cd /opt/data/zookeeper-3.4.13
mkdir data
mkdir logs
在conf目錄下新建zoo.cfg文件,寫入以下內容保存:
tickTime=2000
dataDir=/opt/data/zookeeper-3.4.13/data
dataLogDir=/opt/data/zookeeper-3.4.13/logs
clientPort=2181
1.4 啟動和停止
進入bin目錄,啟動、停止、重啟分和查看當前節點狀態(包括集群中是何角色)別執行:
./zkServer.sh start
./zkServer.sh stop
./zkServer.sh restart
./zkServer.sh status
二、偽集群模式
偽集群模式就是在同一主機啟動多個zookeeper并組成集群,下邊以在192.168.220.128主機上創3個zookeeper組集群為例。
將通過第一大點安裝的zookeeper,復制成zookeeper1/zookeeper2/zookeeper3三份
**myid文件,其內容分別為1,2,3。然后分別在這三臺機器上啟動zk進程,這樣我們便將zk集群啟動了起來。**
2.1 zookeeper1配置
zookeeper1配置文件conf/zoo.cfg修改如下:
復制代碼
tickTime=2000
dataDir=/opt/data/zookeeper1/data
dataLogDir=/opt/data/zookeeper1/logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.220.128:2888:3888
server.2=192.168.220.128:4888:5888
server.3=192.168.220.128:6888:7888
復制代碼
zookeeper1的data/myid配置如下:
echo '1' > data/myid
2.2 zookeeper2配置
zookeeper2配置文件conf/zoo.cfg修改如下:
復制代碼
tickTime=2000
dataDir=/opt/data/zookeeper2/data
dataLogDir=/opt/data/zookeeper2/logs
clientPort=3181
initLimit=5
syncLimit=2
server.1=192.168.220.128:2888:3888
server.2=192.168.220.128:4888:5888
server.3=192.168.220.128:6888:7888
復制代碼
zookeeper2的data/myid配置如下:
echo '2' > data/myid
2.3 zookeeper3配置
zookeeper3配置文件conf/zoo.cfg修改如下:
復制代碼
tickTime=2000
dataDir=/opt/data/zookeeper3/data
dataLogDir=/opt/data/zookeeper3/logs
clientPort=4181
initLimit=5
syncLimit=2
server.1=192.168.220.128:2888:3888
server.2=192.168.220.128:4888:5888
server.3=192.168.220.128:6888:7888
復制代碼
zookeeper3的data/myid配置如下:
echo '3' > data/myid
最后使用1.4的命令把三個zookeeper都啟動即可,啟動順序隨意沒要求。
三、集群模式
集群模式就是在不同主機上安裝zookeeper然后組成集群的模式;下邊以在192.168.220.128/129/130三臺主機為例。
將第1.1到1.3步中安裝好的zookeeper打包復制到129和130上,并都解壓到同樣的目錄下。
3.1 conf/zoo.cfg文件修改
三個zookeeper的conf/zoo.cfg修改如下:
復制代碼
tickTime=2000
dataDir=/opt/data/zookeeper-3.4.13/data
dataLogDir=/opt/data/zookeeper-3.4.13/logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.220.128:2888:3888
server.2=192.168.220.129:2888:3888
server.3=192.168.220.130:2888:3888
復制代碼
對于129和130,由于安裝目錄都是zookeeper-3.4.13所以dataDir和dataLogDir不需要改變,又由于在不同機器上所以clientPort也不需要改變
所以此時129和130的conf/zoo.cfg的內容與128一樣即可。
3.2 data/myid文件修改
128 data/myid修改如下:
echo '1' > data/myid
129 data/myid修改如下:
echo '2' > data/myid
130 data/myid修改如下:
echo '3' > data/myid
最后使用1.4的命令把三個zookeeper都啟動即可,啟動順序隨意沒要求。