zookeeper單機 集群搭建 二

2021-10-01 04:57:44 字數 3755 閱讀 1472

前提條件

安裝jdk

單機搭建過程

1.將zookeeper-3.4.6.tar.gz上傳到伺服器

2.在usr/local目錄下建立zookeeper資料夾

mkdir /usr/local/zookeeper
3.解壓zookeeper-3.4.6.tar.gz

tar

-zxf

zookeeper-3

.4.6

.tar

.gz

4.將解壓後的zookeeper-3.4.6資料夾拷貝乙份到/usr/local/zookeeper目錄下

cp -r zookeeper-3.4.6 /usr/local/zookeeper/zookeeper01
5.配置zookeeper

在zookeeper資料夾下建立乙個data目錄和乙個log目錄

mkdir /usr/local/zookeeper/zookeeper01/data

mkdir /usr/local/zookeeper/zookeeper01/log

在data資料夾下建立乙個檔名稱為myid,檔案的內容就是此zookeeper的編號,單機寫個1

vi myid 然後輸入1
進入conf檔案,拷貝zoo_sample.cfg檔案並改名為zoo.cfg,修改zoo.cfg檔案

把datadir=屬性指定為剛建立的data資料夾。

並在datadir屬性下,新增datalogdir=/usr/local/zookeeper/zookeeper01/log

在檔案最後加上以下內容

server

.1=192.168

.17.185:2881:3881

6.啟動

啟動:./zkserver.sh start

關閉:./zkserver.sh stop

檢視服務狀態:./zkserver.sh status

集群搭建過程

1.將zookeeper-3.4.6.tar.gz上傳到伺服器

2.在usr/local目錄下建立zookeeper資料夾

mkdir /usr/local/zookeeper
3.解壓zookeeper-3.4.6.tar.gz

tar

-zxf

zookeeper-3

.4.6

.tar

.gz

4.將解壓後的zookeeper-3.4.6資料夾拷貝三份到/usr/local/zookeeper目錄下

cp -r zookeeper-3.4.6 /usr/local/zookeeper/zookeeper01
5.配置zookeeper

在每個zookeeper資料夾下建立乙個data目錄

mkdir /usr/local/zookeeper/zookeeper01/data
在每個data資料夾下建立乙個檔名稱為myid,檔案的內容就是此zookeeper的編號1、2、3

vi myid 然後輸入1,剩下以此類推
進入conf檔案,拷貝zoo_sample.cfg檔案並改名為zoo.cfg,修改zoo.cfg檔案

把datadir=屬性指定為剛建立的data資料夾。

並在datadir屬性下,新增datalogdir=/usr/local/zookeeper/zookeeper01/log

如果是在同乙個伺服器下,還需要修改埠號 修改zoo.cfg,把clientport指定為不衝突的埠號(01:2181、02:2182、03:2183)

在檔案最後加上以下內容

server

.1=192.168

.17.185:2881:3881

server

.2=192.168

.17.185:2882:3882

server

.3=192.168

.17.185:2883:3883

如果是在不同的ip下,後面那兩個埠可以相同,但是一定要跟上面的clientport不同

server

.1=192.168

.17.185:2881:3881

server

.2=192.168

.17.186:2881:3881

server

.3=192.168

.17.187:2881:3881

6.zoo.cfg配置引數詳解

ticktime這個時間是作為zookeeper伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,也就是說每個ticktime時間就會傳送乙個心跳。

initlimit這個配置項是用來配置zookeeper接受客戶端(這裡所說的客戶端不是使用者連線zookeeper伺服器的客戶端,而是zookeeper伺服器集群中連線到leader的follower 伺服器)初始化連線時最長能忍受多少個心跳時間間隔數。

當已經超過10個心跳的時間(也就是ticktime)長度後 zookeeper 伺服器還沒有收到客戶端的返回資訊,那麼表明這個客戶端連線失敗。總的時間長度就是 10*2000=20秒。

synclimit這個配置項標識leader與follower之間傳送訊息,請求和應答時間長度,最長不能超過多少個ticktime的時間長度,總的時間長度就是5*2000=10秒。

datadir顧名思義就是zookeeper儲存資料的目錄,預設情況下zookeeper將寫資料的日誌檔案也儲存在這個目錄裡;

clientport這個埠就是客戶端連線zookeeper伺服器的埠,zookeeper會監聽這個埠接受客戶端的訪問請求;

server.a=b:c:d中的a是乙個數字,表示這個是第幾號伺服器,b是這個伺服器的ip位址,c第乙個埠用來集群成員的資訊交換,表示這個伺服器與集群中的leader伺服器交換資訊的埠,d是在leader掛掉時專門用來進行選舉leader所用的埠。

最後測試

啟動所有的zookeeper節點。

啟動:./zkserver.sh start

關閉:./zkserver.sh stop

檢視服務狀態:./zkserver.sh status

檢視各個zookeeper節點狀態,可以看到乙個leader和兩個follower,表示成功

zookeeper 單機搭建偽集群

官網 1 建立目錄 cd usr local mkdir zookeeper cluster cd zookeeper cluster mkdir server1 cd server1 將解壓的zookeeper資料夾複製到當前目錄,並在當前目錄下建立 mkdir data mkdir datalo...

單機zookeeper偽集群搭建

2 zookeeper環境配置 解壓 tar zxvf zookeeper 3.4.12.tar.gz 將內容修改 zoo1.cfg檔案內容 ticktime 2000 initlimit 10 synclimit 5 datadir usr local zk data 1 clientport 2...

Zookeeper單機偽集群

mkdir p server1 server2 server3 mkdir p data datalog logs 建立乙個myid的檔案,裡面寫入乙個數字,比如我這個是server1,那麼就寫乙個1,server2對應myid檔案就寫入2,server3對應myid檔案就寫個3 複製zoo sam...