Zookeeper配置

目錄

Zookeeper的概念

Zookeeper的原理

Zookeeper的結構

Zookeeper的會話

Zookeeper的作用

Zookeeper的搭建流程

Zookeeper是什麼?·

分散式的、開放原始碼的分散式應用程式協調服務

Hadoop的重要元件,進行 Namenodel的協調控制

Zookeeper如何工作?

Zookeeper配置

Zookeeper都有誰?

Zookeeper配置

(1)領導者(Leader)

(2)學習者(Learner)

追隨者(Follower)

觀察者(Observer)

(3)客戶端(Client)

Server的狀態

LOOKING:

不知道Leader是誰?正在搜尋中……

LEADING:

當前的Server選舉出來Leader,也就是成為Leader的一種狀態

FLOWING:

Leader選舉出來,其他的Server的同步

Zookeeper中的溝通

Session(會話)

1。

SessionID:

Zookeeper會分配一個全域性的

唯一可用的

SessionID

2。

TimeOut:

超時時間,如果超時會話中止

3。

TickTime:

下一次會話的超時的時間點

4。

isCloseing:

標記當前會話是否已經關閉了

Zookeeper的心跳機制

在整個 Zookeeper執行過程中,客戶端會在超時時間內向服務端傳送PING請求來保持時效性,俗稱心跳檢測,而服務端在接受到了客戶端的心跳請求後需要再次啟用會話狀態。

Zookeeper配置

◆ tickTime:CS通訊心跳數

Zookeeper伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,也就是每個 tickTime時間就會發送一個心跳。 tickTime以毫秒為單位。

◆ initLimit:LF初始通訊時限

叢集中的 follower伺服器(F)與 leader伺服器(L)之間初始連線時能容忍得最多心跳數( tickTime的數量)。

◆ synclimit:LF同步通訊時限

叢集中的 follower伺服器(F)與 leader伺服器(L)之間請求和應答之間能容忍的最多心跳數( tickTime的數量)。

ZooKeeper的 ”聊天記錄“

Zookeeper配置

dataLog:順序日誌

需要配置:dataLogDir,dataDir

Zookeeper節點資料操作流程

Zookeeper配置

1。 Client向 Follwer發出一個寫的請求

2。 Follwer把請求傳送給 Leader

3。 Leader接收到以後開始發起投票並通知 Follwer進行投票

4。 Follwer把投票結果傳送給 Leader

5。 Leader將結果彙總後如果需要寫入,則開始寫入的同時把寫入操作通知給 Follwer,然後 commit

6。 Follwer把請求結果返回給 Client

ZooKeeper的作用

Zookeeper配置

(1)配置管理

只需要部署一臺伺服器則可以把相同的配置檔案,同步更新到其他所有伺服器

在 Hadoop中,確保整個叢集只有一個 Namenode儲存配置資訊等

(2)統一命名服務

(3)分散式同步

(4)叢集管理

Zookeeper搭建流程

1建立工作路徑;

2。解壓軟體

3。配置 zoo。 cfg

tickTime=2000 # 心跳間隔 initLimit=10 #最大初始時間制10倍心跳synclimit=5 #請求應含的長5倍心跳dataDir=/usr/zookeeper/zookeepe-3。1。14/zkdata #資料目錄clientPort=2187#客戶端、版務端連線埠dataLogDir=/usr/zookeeper/zookeepe-3。1。14/zkdatalog r#日誌目錄server。1= master:2888:3888 #叢集列表servre。2=slave1:2888:3888server。3=slave2:2888:3888

◆安裝 zookeeper

配置的 data Dir指定的目錄下面,建立一個

myid

檔案。裡面內容為一個數字,用來標識當前主機。

server X中X為什麼數字,則myid檔案中就輸入這個數字。

每個節點上執行啟動 ZooKeeper服務的指令碼。

zkServer。sh start #啟動服務zkServer。sh status #檢視狀態

結果應該是:一個節點是 Leader,其餘的節點是Fo|lwer。