1、訪問官網(wǎng)查看最版本的zookeeper的版本,并且找到對應(yīng)的版本的下載地址;
官網(wǎng)地址:http://mirrors.shu.edu.cn/apache/zookeeper/
1535506964803.png
目前最新的穩(wěn)定版是3.4.13。所以這里我就選擇了3.4.13的版本的。
1535506987274.png
鼠標(biāo)右擊復(fù)制對應(yīng)的地址,在linux系統(tǒng)使用wget命令就可以下載了;
wget http://mirrors.shu.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
1535507060861.png
文件我是下載到自己的常用的文件路徑。
1535507132120.png
解壓下載的zookeeper壓縮包;
tar -vxzf zookeeper-3.4.13.tar.gz
1535507212207.png
2、開始配置:
創(chuàng)建對應(yīng)的配置目錄
mkdir -p data/zkdata #存放快照的目錄
mkdir -p data/zkdatalog #存放事務(wù)日志的目錄
創(chuàng)建完成后的目錄結(jié)構(gòu):
1535507687377.png
創(chuàng)建zoo.cfg文件;
cp zoo_sample.cfg zoo.cfg
1535507814727.png
修改zoo.cfg文件配置:
vi zoo.cfg
在配置文件后面加上dataDir、dataLogDir
1535508358660.png
配置文件解釋:
- tickTime:這個時間是作為 Zookeeper 服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發(fā)送一個心跳
- dataDir:顧名思義就是 Zookeeper 保存數(shù)據(jù)的目錄,默認(rèn)情況下,Zookeeper 將寫數(shù)據(jù)的日志文件也保存在這個目錄里。
- dataLogDir 就是zookeeper的日志存放路徑
- 這個端口就是客戶端連接 Zookeeper 服務(wù)器的端口,Zookeeper 會監(jiān)聽這個端口,接受客戶端的訪問請求。
當(dāng)這些配置項配置好后,你現(xiàn)在就可以啟動 Zookeeper 了( sh zkServer.sh),啟動后要檢查 Zookeeper 是否已經(jīng)在服務(wù) - 這個配置項是用來配置 Zookeeper 接受客戶端(這里所說的客戶端不是用戶連接 Zookeeper 服務(wù)器的客戶端,
而是 Zookeeper 服務(wù)器集群中連接到 Leader 的 Follower 服務(wù)器)初始化連接時最長能忍受多少個心跳時間間隔數(shù)。
當(dāng)已經(jīng)超過 10 個心跳的時間(也就是 tickTime)長度后 Zookeeper 服務(wù)器還沒有收到客戶端的返回信息,那么表明這個客戶端連接失敗。
總的時間長度就是 5*2000=10 秒。 - 這個配置項標(biāo)識 Leader 與 Follower 之間發(fā)送消息,請求和應(yīng)答時間長度,最長不能超過多少個 tickTime 的時間長度,總的時間長度就是 2*2000=4 秒
- server.A=B:C:D:其中 A 是一個數(shù)字,表示這個是第幾號服務(wù)器;B 是這個服務(wù)器的 ip 地址;C 表示的是這個服務(wù)器與集群中的 Leader 服務(wù)器交換信息的端口;D 表示的是萬一集群中的 Leader 服務(wù)器掛了,需要一個端口來重新進(jìn)行選舉,選出一個新的 Leader,而這個端口就是用來執(zhí)行選舉時服務(wù)器相互通信的端口。如果是偽集群的配置方式,由于 B 都是一樣,所以不同的 Zookeeper 實例通信端口號不能一樣,所以要給它們分配不同的端口號。
Zookeeper 的集群模式的安裝和配置也不是很復(fù)雜,所要做的就是增加幾個配置項。集群模式除了上面的三個配置項還要增加下面幾個配置項:
- server.1=192.168.0.232:2888:3888
- server.1=192.168.0.231:2888:3888
這里之設(shè)置配置單機(jī)的。
到這里具體的配置就算是完成了。把目錄切換到zookeeper目錄下面的bin文件夾下面:
執(zhí)行啟動腳本 zkServer.sh。
./zkServer.sh start #啟動zookeeper
./zkServer.sh status #查看狀態(tài)
./zkCli.sh -server 172.16.0.127:2181 #連接
1535508805287.png
查看zookeeper的后臺進(jìn)程
ps -ef|grep zookeeper
1535508956019.png