成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大數據學習:ZooKeeper工作原理

大數據
在大數據學習中,ZooKeeper扮演了十分重要的角色。ZooKeeper 提供了一套很好的分布式集群管理的機制,從而可以設計出多種多樣的分布式的數據管理模型。在ZooKeeper的基本功能中工作原理及工作流程也是主要部分。

 在大數據生態當中,分布式集群當中的一個重要組件,就是Zookeeper,作為集群運行的重要管理者,正如其名字“動物園管理員”所示,負責集群運行的諸多事宜。今天的大數據學習分享,我們就來具體講講,ZooKeeper工作原理。

在Zookeeper的工作流程當中,各個節點當中,主要涉及到三個角色和四種狀態,這也是構成Zookeeper體系架構的重要組成部分。

ZooKeeper角色和狀態

角色:Leader,Follower,Observer。

狀態:Leading,Following,Observing,Looking。

Looking:當前Server不知道Leader是誰,正在搜尋。

Leading:當前Server即為選舉出來的Leader。

Following:Leader已經選舉出來,當前Server與之同步。

Observing:Observer的行為在大多數情況下與Follower完全一致,但是他們不參加選舉和投票,而僅僅接受(observing)選舉和投票的結果。

Zookeeper工作流程

Leader Election

當Leader崩潰或者Leader失去大多數的Follower,這時候ZK進入恢復模式,恢復模式需要重新選舉出一個新的Leader,讓所有的Server都恢復到一個正確的狀態。

Zk的選舉算法有兩種:一種是基于Basic paxos實現的,另外一種是基于Fast paxos算法實現的。

系統默認的選舉算法為Fast paxos。

Fast paxos流程是在選舉過程中,某Server首先向所有Server提議自己要成為Leader,當其它Server收到提議以后,解決epoch和zxid的沖突,并接受對方的提議,然后向對方發送接受提議完成的消息,重復這個流程,最后一定能選舉出Leader。

Leader工作流程

Leader主要有三個功能:
恢復數據;
維持與Follower的心跳,接收Follower請求并判斷Follower的請求消息類型;
Follower的消息類型主要有PING消息、REQUEST消息、ACK消息、REVALIDATE消息,根據不同的消息類型,進行不同的處理。

Follower主要有四個功能:
向Leader發送請求(PING消息、REQUEST消息、ACK消息、REVALIDATE消息);
接收Leader消息并進行處理;
接收Client的請求,如果為寫請求,發送給Leader進行投票;
返回Client結果。

Follower的消息循環處理如下幾種來自Leader的消息:
PING消息:心跳消息
PROPOSAL消息:Leader發起的提案,要求Follower投票
COMMIT消息:服務器端最新一次提案的信息
UPTODATE消息:表明同步完成
REVALIDATE消息:根據Leader的REVALIDATE結果,關閉待revalidate的session還是允許其接受消息
SYNC消息:返回SYNC結果到客戶端,這個消息最初由客戶端發起,用來強制得到最新的更新。

Zab協議(ZooKeeper Atomic Broadcast protocol)

Zookeeper的核心是原子廣播,這個機制保證了各個Server之間的同步。Zab協議有兩種模式,它們分別是恢復模式(Recovery選主)和廣播模式(Broadcast同步)。

當服務啟動或者在領導者崩潰后,Zab就進入了恢復模式,當領導者被選舉出來,且大多數Server完成了和Leader的狀態同步以后,恢復模式就結束了。狀態同步保證了Leader和Server具有相同的系統狀態。

為了保證事務的順序一致性,zookeeper采用了遞增的事務id號(zxid)來標識事務。所有的提議(proposal)都在被提出的時候加上了zxid。

實現中zxid是一個64位的數字,它高32位是epoch用來標識Leader關系是否改變,每次一個Leader被選出來,它都會有一個新的epoch,標識當前屬于那個Leader的統治時期。低32位用于遞增計數。
 

 

責任編輯:梁菲 來源: 加米谷大數據
相關推薦

2020-12-04 14:31:45

大數據Spark

2020-05-19 09:11:20

機器學習技術數據

2025-06-06 08:04:17

2020-06-19 07:59:35

人工智能

2018-01-02 13:25:00

國稅大數據監督平臺

2016-12-12 08:48:24

2019-12-25 14:20:01

Zookeeper框架大數據

2021-05-08 23:26:32

大數據薪資工作

2021-08-26 08:03:30

大數據Zookeeper選舉

2018-12-07 14:59:37

2017-04-26 13:18:35

大數據數據科學人工智能

2020-09-29 16:48:13

大數據IT技術

2019-04-09 20:55:30

2021-02-05 11:21:54

大數據大數據技術

2009-08-14 13:19:23

2009-06-18 13:31:03

Spring工作原理

2021-01-29 10:07:31

大數據大數據技術

2023-05-08 00:08:51

Hive機制場景

2014-06-19 09:43:23

大數據

2017-05-10 10:00:40

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品久久久久久久久久久久久 | 亚洲综合久久精品 | 欧美一区二区网站 | 精品久久久久久久久久久 | 久久另类视频 | 日本黄色一级片视频 | 91精品午夜窝窝看片 | 欧美日韩亚洲系列 | 亚洲在线| va精品| 欧美一区二区小视频 | 亚洲一页 | 成人网在线看 | 免费av观看 | 精品欧美乱码久久久久久 | 国产亚洲精品久久久久动 | 911影院 | 99热在线播放 | 日韩手机在线看片 | 男女羞羞视频在线免费观看 | 国产精品高潮呻吟久久 | 一区在线免费视频 | 亚洲成人高清 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 欧美性猛交一区二区三区精品 | www.久久久.com | 美女久久久久久久 | 中文成人在线 | 日韩视频一区二区三区 | 久久久久久久网 | 国产乱码精品一区二区三区中文 | 爱爱综合网| 国产电影精品久久 | 国内久久 | 欧美午夜精品久久久久久浪潮 | 九九精品在线 | 亚洲国产日本 | 毛片一区二区三区 | 亚洲国产精品视频一区 | www.久草.com| www.日本三级|