天天看點

ZooKeeper一、下載下傳安裝

一、下載下傳安裝

ZK官網:Apache ZooKeeper

X.1準備三台機器

通過 VMware ,我們安裝了三台虛拟機,用來搭建 zookeeper 叢集,虛拟機網絡位址如下:

ZooKeeper一、下載下傳安裝

zookeeper 叢集通常是用來對使用者的分布式應用程式提供協調服務的,為了保證資料的一緻性,對 zookeeper 叢集進行了這樣三種角色劃分:leader、follower、observer分别對應着總統、議員和觀察者。

  •   總統(leader):負責進行投票的發起和決議,更新系統狀态。
  •   議員(follower):用于接收用戶端請求并向用戶端傳回結果以及在選舉過程中參與投票
  •   觀察者(observer):也可以接收用戶端連接配接,将寫請求轉發給leader節點,但是不參與投票過程,隻同步leader的狀态。通常對查詢操作做負載。

X.2安裝JDK

詳見linux

ZooKeeper一、下載下傳安裝

X.3為什麼zk配置奇數節點?

ZooKeeper一、下載下傳安裝

X.4下載下傳安裝zk 

官網下載下傳位址:http://mirror.bit.edu.cn/apache/zookeeper/

在 /usr/local 目錄下建立 software 目錄,然後将 zookeeper 壓縮檔案上傳到該目錄中,然後通過如下指令解壓:

tar -zxvf zookeeper-3.3.6.tar.gz

修改zoo.cfg

将zookeeper壓縮檔案解壓後,我們進入到 conf 目錄:

ZooKeeper一、下載下傳安裝
  • 将 zoo_sample.cfg 檔案複制并重命名為 zoo.cfg 檔案。

cp zoo_sample.cfg zoo.cfg

  • 然後通過 vim zoo.cfg 指令對該檔案進行修改:
ZooKeeper一、下載下傳安裝

面紅色框住的内容即是我們修改的内容:

①、tickTime:基本事件單元,這個時間是作為Zookeeper伺服器之間或用戶端與伺服器之間維持心跳的時間間隔,每隔tickTime時間就會發送一個心跳;最小 的session過期時間為2倍tickTime

②、dataDir:存儲記憶體中資料庫快照的位置,除非另有說明,否則指向資料庫更新的事務日志。注意:應該謹慎的選擇日志存放的位置,使用專用的日志儲存設備能夠大大提高系統的性能,如果将日志存儲在比較繁忙的儲存設備上,那麼将會很大程度上影像系統性能。

③、client:監聽用戶端連接配接的端口。

④、initLimit:允許follower連接配接并同步到Leader的初始化連接配接時間,以tickTime為機關。當初始化連接配接時間超過該值,則表示連接配接失敗。

⑤、syncLimit:表示Leader與Follower之間發送消息時,請求和應答時間長度。如果follower在設定時間内不能與leader通信,那麼此follower将會被丢棄。

⑥、server.A=B:C:D

A:其中 A 是一個數字,表示這個是伺服器的編号;

B:是這個伺服器的 ip 位址;

C:Zookeeper伺服器之間的通信端口;

D:Leader選舉的端口。

我們需要修改的第一個是 dataDir ,在指定的位置處建立好目錄。第二個需要新增的是 server.A=B:C:D 配置,其中 A 對應下面我們即将介紹的myid 檔案。B是叢集的各個IP位址,C:D 是端口配置。

參考官方文檔:ZooKeeper: Because Coordinating Distributed Systems is a Zoo

建立myid檔案

ZooKeeper一、下載下傳安裝

配置zk環境變量 

ZooKeeper一、下載下傳安裝

啟動zk 

ZooKeeper一、下載下傳安裝
搭建問題

ZooKeeper一、下載下傳安裝