您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Zookeeper基本知識有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
1、Zookeeper概述
Zookeeper是一個分布式協調服務的開源框架,主要用來解決分布式集群中應用系統的一致性問題。ZooKeeper 本質上是一個分布式的小文件存儲系統。提供基于類似于文件系統的目錄樹方式的數據存儲,并且可以對樹中的節點進行有效管理。從而用來維護和監控你存儲的數據的狀態變化。通過監控這些數據狀態的變化,從而可以達到基于數據的集群管理。
2、ZooKeeper特性
(1)全局數據一致:集群中每個服務器保存一份相同的數據副本,client 無論連接到哪個服務器,展示的數據都是一致的,這是最重要的特征。
(2)可靠性:如果消息被其中一臺服務器接受,那么將被所有的服務器接受。
(3)順序性:包括全局有序和偏序兩種:全局有序是指如果在一臺服務器上消息 a 在消息 b 前發布,則在所有 Server 上消息 a 都將在消息 b 前被發布;偏序是指如果一個消息 b 在消息 a 后被同一個發送者發布,a 必將排在 b 前面。
(4)數據更新原子性:一次數據更新要么成功(半數以上節點成功),要么失敗,不存在中間狀態;。
(5)實時性:Zookeeper 保證客戶端將在一個時間間隔范圍內獲得服務器的更新信息,或者服務器失效的信息。
3、ZooKeeper集群角色
(1)Leader:Zookeeper 集群工作的核心。事務請求(寫操作)的唯一調度和處理者,保證集群事務處理的順序性;集群內部各個服務器的調度者。 對于 create,setData,delete 等有寫操作的請求,則需要統一轉發給leader 處理,leader 需要決定編號、執行操作,這個過程稱為一個事務。
(2)Follower: 處理客戶端非事務(讀操作)請求,轉發事務請求給 Leader; 參與集群 Leader 選舉投票。此外,針對訪問量比較大的 zookeeper 集群,還可新增觀察者角色。
(3)Observer:觀察者角色,觀察 Zookeeper 集群的最新狀態變化并將這些狀態同步過來,其對于非事務請求可以進行獨立處理,對于事務請求,則會轉發給 Leader 服務器進行處理。不會參與任何形式的投票只提供非事務服務,通常用于在不影響集群事務處理能力的前提下提升集群的非事務處理能力。
4、ZooKeeper集群搭建
Zookeeper 集群搭建指的是 ZooKeeper 分布式模式安裝。通常由 2n+1 臺 servers 組成。這是因為為了保證 Leader 選舉(基于 Paxos 算法的實現)能過得到多數的支持,所以 ZooKeeper 集群的數量一般為奇數。 Zookeeper 運行需要 Java 環境,所以需要提前安裝 jdk。對于安裝leader+follower 模式的集群,大致過程如下:
配置主機名稱到 IP 地址映射配置;
修改 ZooKeeper 配置文件;
遠程復制分發安裝文件;
設置 myid;
啟動 ZooKeeper 集群。
如果要想使用 Observer 模式,可在對應節點的配置文件添加如下配置:
peerType=observer
其次,必須在配置文件指定哪些節點被指定為 Observer,如:
server.1:node-1:2181:3181:observer
看完上述內容,你們對Zookeeper基本知識有哪些有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。