本篇文章的主要目的是的介紹Zookeeper在window環(huán)境下的安裝。在Window的環(huán)境下安裝還是比較簡(jiǎn)單的。 首先下載一個(gè)zookeeper,我下載的版本是zookeeper-3.3.5,解壓安裝包,解壓后的zookeeper安裝包放置的路徑如下圖
2.:進(jìn)入D:\Environment\zookeeper-3.3.5\conf,將zoo_sample.cfg文件復(fù)制一份,并將復(fù)制好的文件改名為zoo.cfg。打開新建的zoo.cfg文件,將里面的內(nèi)容進(jìn)行修改,修改后的文件內(nèi)容如下: #initLimit=10 #syncLimit=5 tickTime=2000 dataDir=D:\Environment\zookeeper-3.3.5\data clientPort=2181
這里需要注意的是:如果沒有更改zoo_sample.cfg的話,在啟動(dòng)zookeeper的時(shí)候會(huì)發(fā)生閃退的現(xiàn)象。
3.接下來需要配置配置環(huán)境變量,在“我的電腦”上點(diǎn)擊右鍵,選擇屬性,再點(diǎn)擊高級(jí)系統(tǒng)設(shè)置,點(diǎn)擊環(huán)境變量按鈕,在系統(tǒng)變量這一欄,點(diǎn)擊新建,添加: 變量名:ZOOKEEPER_HOME 變量值:D:\Environment\zookeeper-3.3.5 還是在系統(tǒng)變量這一欄,找到path,點(diǎn)擊編輯path,在變量值里添加:%ZOOKEEPER_HOME %/bin; % ZOOKEEPER_HOME %/conf; 4.啟動(dòng)D:\Environment\zookeeper-3.3.5\bin\ zkServer.cmd 啟動(dòng)成功界面如下:
以上的安裝是在Windows下的單機(jī)安裝,接下來來進(jìn)行多個(gè)機(jī)器配置Zookeeper。 首先需要在兩臺(tái)服務(wù)器A和B上分別安裝Zookeeper,重復(fù)上面的流程。
接下來在zoo.cfg添加如下配置 initLimit=5 syncLimit=2 tickTime=2000 dataDir=D:\Environment\zookeeper-3.3.5\data clientPort=2181 server.1=A:Aport:Aport2 server.2=B:Bport:Bport2
這里需要對(duì)以下的幾個(gè)參數(shù)進(jìn)行解釋一下。
tickTime:這個(gè)時(shí)間是作為Zookeeper 服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時(shí)間間隔,也就是每個(gè) tickTime 時(shí)間就會(huì)發(fā)送一個(gè)心跳。
dataDir:顧名思義就是Zookeeper 保存數(shù)據(jù)的目錄,默認(rèn)情況下,Zookeeper 將寫數(shù)據(jù)的日志文件也保存在這個(gè)目錄里。
clientPort:這個(gè)端口就是客戶端連接Zookeeper 服務(wù)器的端口,Zookeeper 會(huì)監(jiān)聽這個(gè)端口,接受客戶端的訪問請(qǐng)求。
initLimit:這個(gè)配置項(xiàng)是用來配置Zookeeper 接受客戶端(這里所說的客戶端不是用戶連接 Zookeeper 服務(wù)器的客戶端,而是 Zookeeper 服務(wù)器集群中連接到 Leader的 Follower 服務(wù)器)初始化連接時(shí)最長(zhǎng)能忍受多少個(gè)心跳時(shí)間間隔數(shù)。當(dāng)已經(jīng)超過 5個(gè)心跳的時(shí)間(也就是 tickTime)長(zhǎng)度后 Zookeeper服務(wù)器還沒有收到客戶端的返回信息,那么表明這個(gè)客戶端連接失敗??偟臅r(shí)間長(zhǎng)度就是 5*2000=10 秒。
syncLimit:這個(gè)配置項(xiàng)標(biāo)識(shí)Leader 與 Follower 之間發(fā)送消息,請(qǐng)求和應(yīng)答時(shí)間長(zhǎng)度,最長(zhǎng)不能超過多少個(gè) tickTime 的時(shí)間長(zhǎng)度,總的時(shí)間長(zhǎng)度就是 2*2000=4秒。
server.A=B:C:D:其中 A是一個(gè)數(shù)字,表示這個(gè)是第幾號(hào)服務(wù)器;B 是這個(gè)服務(wù)器的 ip 地址;C 表示的是這個(gè)服務(wù)器與集群中的 Leader 服務(wù)器交換信息的端口;D表示的是萬一集群中的 Leader 服務(wù)器掛了,需要一個(gè)端口來重新進(jìn)行選舉,選出一個(gè)新的Leader,而這個(gè)端口就是用來執(zhí)行選舉時(shí)服務(wù)器相互通信的端口。如果是偽集群的配置方式,由于 B 都是一樣,所以不同的 Zookeeper實(shí)例通信端口號(hào)不能一樣,所以要給它們分配不同的端口號(hào)。
3:D:\Environment\zookeeper-3.3.5\data下創(chuàng)myid文件myid的文件內(nèi)容分別為:1、2 。 4:分別啟動(dòng)兩個(gè)zookeeper,在一臺(tái)機(jī)器上創(chuàng)建節(jié)點(diǎn),另一個(gè)機(jī)器能同步過去證明成功。 5:zookeeper服務(wù)器推薦用奇數(shù)個(gè),半數(shù)以上服務(wù)正常,整個(gè)服務(wù)就正常。
至此我們就完成了Zookeeper在本地的安裝,它已經(jīng)具備注冊(cè)中心的功能,并且可以使用了。 |
|