前提條件
安裝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...