国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Zookeeper快速入門(Zookeeper概述、安裝、集群安裝、選舉機(jī)制、命令行操作、節(jié)點類型、監(jiān)聽器原理)

這篇具有很好參考價值的文章主要介紹了Zookeeper快速入門(Zookeeper概述、安裝、集群安裝、選舉機(jī)制、命令行操作、節(jié)點類型、監(jiān)聽器原理)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、Zookeeper入門

1.1 概述

Zookeeper是一個開源的分布式的,為分布式框架提供協(xié)調(diào)服務(wù)的Apache項目。
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
1、Zookeeper工作機(jī)制
Zookeeper從設(shè)置模式角度來理解:是一個基于觀察者模式設(shè)計的分布式服務(wù)管理框架,它負(fù)責(zé)儲存和管理大家都關(guān)心的數(shù)據(jù),然后接受觀察者的注冊,一旦這些數(shù)據(jù)的狀態(tài)發(fā)生變化,Zookeeper就將負(fù)責(zé)通知已經(jīng)在Zookeeper上注冊的那些觀察者做出相應(yīng)的反應(yīng)。

zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

1.2 特點

zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
1、Zookeeper:一個領(lǐng)導(dǎo)者(Leader),多個跟隨者(Follower)組成的集群。
2、集群中只要有半數(shù)以上節(jié)點存活,Zookeeper集群就能正常服務(wù)。所以Zookeeper適合安裝奇數(shù)臺服務(wù)器。
3、全局?jǐn)?shù)據(jù)一致,每個Server保存一份相同的數(shù)據(jù)副本,Client無論連接到哪個Server,數(shù)據(jù)都是一致的。
4、更新請求順序執(zhí)行,來著同一個Client的更新請求按其發(fā)送順序依次執(zhí)行。
5、數(shù)據(jù)更新原子性,一次數(shù)據(jù)更新要么成功,要么失敗。
6、實時性,在一定時間范圍內(nèi),Client能讀取到最新數(shù)據(jù)

1.3 數(shù)據(jù)結(jié)構(gòu)

Zookeeper數(shù)據(jù)模型的結(jié)構(gòu)與Unix文件系統(tǒng)很類似,整體上可以看作是一棵樹,每個節(jié)點稱做一個ZNode。每一個ZNode默認(rèn)能儲存1MB的數(shù)據(jù),每個ZNode都可以通過其路徑唯一標(biāo)識。
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

1.4 應(yīng)用場景

提供的服務(wù)包括:統(tǒng)一命名服務(wù)、統(tǒng)一配置管理、統(tǒng)一集群管理、服務(wù)器節(jié)點動態(tài)上下線、軟負(fù)載均衡等。
1、統(tǒng)一命名服務(wù)
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

2、統(tǒng)一配置管理
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
(1)分布式環(huán)境系,配置文件同步非常常見
(a)一般要求一個集群中,所有節(jié)點的配置信息是一致的,比如kafka集群。
(b)對配置文件修改后,希望能夠快速同步到各個節(jié)點上。
(2)配置管理可交由Zookeeper實現(xiàn)
(a)可將配置信息寫入Zookeeper上的一個ZNode
(b)各個客戶端服務(wù)器監(jiān)聽這個ZNode
(c)一旦ZNode中的數(shù)據(jù)被修改,Zookeeper將通知各個客戶端服務(wù)器

3、統(tǒng)一集群管理
(1)分布式環(huán)境中,實時掌握每個節(jié)點的狀態(tài)是必要的
(a)可根據(jù)節(jié)點實時狀態(tài)做出一些調(diào)整
(2)Zookeeper可以實現(xiàn)實時監(jiān)控節(jié)點狀態(tài)變化
(a)可將節(jié)點信息寫入Zookeeper上的一個ZNode節(jié)點
(b)監(jiān)聽這個ZNode可獲取它的實時狀態(tài)變化。

zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
4、服務(wù)器動態(tài)上下線

zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
5、軟負(fù)載均衡
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

2、Zookeeper本地安裝

Zookeeper文件獲取

鏈接:https://pan.baidu.com/s/1kVisN2YWXH119vX8mVa_uQ
提取碼:zhm6

2.1 本地模式安裝

1、安裝前準(zhǔn)備
(1)安裝JDK
(2)拷貝Zookeeper安裝包到Linux系統(tǒng)下
(3)解壓到指定目錄

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/

2、配置修改
(1)將/opt/module/zookeeper-3.5.7/conf 這個路徑下的 zoo_sample.cfg 修改為 zoo.cfg;

 mv zoo_sample.cfg zoo.cfg

(2)打開 zoo.cfg 文件,修改 dataDir 路徑

 vim zoo.cfg

修改以下內(nèi)容

dataDir=/opt/module/zookeeper-3.5.7/zkData

zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

(3)在/opt/module/zookeeper-3.5.7/這個目錄上創(chuàng)建 zkData 文件夾

 mkdir zkData

3、操作Zookeeper
(1)啟動Zookeeper

 bin/zkServer.sh start

zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

(2)查看進(jìn)程是否啟動

jps

zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

(3)查看狀態(tài)

 bin/zkServer.sh status

(4)啟動客戶端

 bin/zkCli.sh

(5)退出客戶端

quit

(6)停止 Zookeeper

 bin/zkServer.sh stop
2.2 配置參數(shù)解讀

1、tickTime = 2000;通信心跳時間,Zookeeper服務(wù)器與客戶端心跳時間,單位毫秒
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
2、initLimit=10:LF初始通信時限
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

Leader和Follower初始連接時能容忍的最多心跳數(shù)(tickTime的數(shù)量)
3、syncLimit=5:LF同步通信時限
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
Leader和Follower之間通信時間如果超過syncLimit*tickTime,Leader認(rèn)為Follower死掉,從服務(wù)器列表中刪除掉Follower。
4、dataDir:保存Zookeeper中的數(shù)據(jù)
注意:默認(rèn)的tmp目錄,容易被Linux系統(tǒng)定期刪除,所以一般不用默認(rèn)的tmp目錄。
5、clientPort=2181:客戶端連接端口,通常不做修改

3、Zookeeper集群操作

3.1 集群操作
3.1.1 集群安裝

1、集群規(guī)劃
在hadoop102、hadoop103、hadoop104三個節(jié)點上都部署Zookeeper。
2、解壓安裝(和上面一樣)
3、配置服務(wù)器編號
(1)在/opt/module/zookeeper-3.5.7/這個目錄下創(chuàng)建 zkData
(2)在/opt/module/zookeeper-3.5.7/zkData 目錄下創(chuàng)建一個 myid 的文件。在文件中添加與 server 對應(yīng)的編號(注意:上下不要有空行,左右不要有空格)
(3)拷貝配置好的 zookeeper 到其他機(jī)器上。并分別在 hadoop103、hadoop104 上修改 myid 文件中內(nèi)容為 3、4。

4、配置zoo.cfg文件
(1)重命名/opt/module/zookeeper-3.5.7/conf 這個目錄下的 zoo_sample.cfg 為 zoo.cfg
(2)打開zoo.cfg文件
(a)修改數(shù)據(jù)儲存路徑配置
(b)增加如下配置
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
(3)配置參數(shù)解讀
server.A=B:C:D
A是一個數(shù)字,表示這個是第幾號服務(wù)器;
集群模式下配置一個文件myid,這個文件在datadir目錄下,這個文件里面有一個數(shù)據(jù)就是A的值,Zookeeper啟動時讀取此文件,拿到里面的數(shù)據(jù)與zoo.cfg里面的配置信息比較從而判斷到底是哪個Server。
B是這個服務(wù)器的地址。
C是這個服務(wù)器Follower與集群中Leader服務(wù)器交換信息的端口。
D是萬一集群中的Leader的服務(wù)掛了,需要一個端口來重新選舉,選舉出一個新的Leader,而這個端口就是用來執(zhí)行選舉時服務(wù)器互相通信的端口。
(4)同步zoo.cfg配置文件。

5、集群操作
zk.sh腳本

#!/bin/bash

case $1 in
"start") {
        for i in hadoop102 hadoop103 hadoop104
        do
                echo ---------------zookeeper $i 啟動-----------------
                ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
        done
};;
"stop") {
        for i in hadoop102 hadoop103 hadoop104
        do
                echo ---------------zookeeper $i 停止-----------------
                ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
        done
};;
"status") {
        for i in hadoop102 hadoop103 hadoop104
        do
                echo ---------------zookeeper $i 狀態(tài)-----------------
                ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
        done
};;
esac

(1)一鍵啟動Zookeeper集群
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
(2)查看狀態(tài)
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

3.1.2 選舉機(jī)制

zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

Zookeeper選舉機(jī)制—第一次啟動

SID:服務(wù)器ID。用來唯一標(biāo)識一臺Zookeeper集群中的機(jī)器,每臺機(jī)器不能重復(fù),和myid一致。
ZXID:事務(wù)ID。ZXID是一個事務(wù)ID,用來標(biāo)識一次服務(wù)器狀態(tài)的變更。在某一時刻,集群中的每臺機(jī)器的ZXID值不一定完全一致。這和Zookeeper服務(wù)器對于客戶端“更新請求”的處理邏輯有關(guān)。
EPOCH:每個Leader任期的代號。沒有Leader時同一輪投票過程中的邏輯時鐘值是相同的。每投完一次票這個數(shù)據(jù)就會增加。

1、服務(wù)器1啟動,發(fā)起一次選舉。服務(wù)器1投自己一票。此時服務(wù)器1票數(shù)一票,不夠半數(shù)以上(3票),選舉無法完成,服務(wù)器1狀態(tài)保持為
LOOKING;
2、服務(wù)器2啟動,再發(fā)起一次選舉。服務(wù)器1和2分別投自己一票并交換選票信息:此時服務(wù)器1發(fā)現(xiàn)服務(wù)器2的myid比自己目前投票推舉的(服務(wù)器1)大,更改選票為推舉服務(wù)器2。此時服務(wù)器1票數(shù)0票,服務(wù)器2票數(shù)2票,沒有半數(shù)以上結(jié)果,選舉無法完成,服務(wù)器1,2狀態(tài)保持LOOKING。
3、服務(wù)器3啟動,發(fā)起一次選舉。此時服務(wù)器1和2都會更改選票為服務(wù)器3。此次投票結(jié)果:服務(wù)器1為0票,服務(wù)器2為0票,服務(wù)器3為3票。此時服務(wù)器3的票數(shù)已經(jīng)超過半數(shù),服務(wù)器3當(dāng)選Leader。服務(wù)器1,2更改狀態(tài)為FOLLOWING,服務(wù)器3更改狀態(tài)為LEADING;
4、服務(wù)器4啟動,發(fā)起一次選舉。此時服務(wù)器1,2,3已經(jīng)不是LOOKING狀態(tài),不會更改選票信息。交換選票信息結(jié)果:服務(wù)器3為3票,服務(wù)器4為1票。此時服務(wù)器4服從多數(shù),更改選票信息為服務(wù)器3,并更改狀態(tài)為FOLLOWING;
5、服務(wù)器5啟動,同4一樣當(dāng)小弟。

Zookeeper選舉機(jī)制—非第一次啟動
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
(1)當(dāng)Zookeeper集群中的一臺服務(wù)器出現(xiàn)以下兩種情況之一時,就會開始進(jìn)入Leader選舉:
(a)服務(wù)器初始化啟動
(b)服務(wù)器運行期間無法和Leader保持連接
(2)而當(dāng)一臺機(jī)器進(jìn)入Leader選舉流程時,當(dāng)前集群也可能會處于以下兩種狀態(tài):
(a)集群中本來就已經(jīng)存在一個Leader
對于這種情況,機(jī)器視圖去選舉Leader時,會被告知當(dāng)前服務(wù)器的Leader信息,對于該機(jī)器來說,僅僅需要和Leader機(jī)器建立連接,并進(jìn)行狀態(tài)同步即可。
(b)集群中確實不存在Leader
假設(shè)ZooKeeper由5臺服務(wù)器組成,SID分別為1、2、3、4、5,ZXID分別為8、8、8、7、7,并且此時SID為3的服務(wù)器是Leader。某一時刻,
3和5服務(wù)器出現(xiàn)故障,因此開始進(jìn)行Leader選舉。
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

3.2 客戶端命令行操作
3.2.1 命令行語法
命令基本語法 功能描述
help 顯示所有操作命令
ls path 使用 ls 命令來查看當(dāng)前 znode 的子節(jié)點 [可監(jiān)聽] -w 監(jiān)聽子節(jié)點變化 -s 附加次級信息
create 普通創(chuàng)建 -s 含有序列 -e 臨時(重啟或者超時消失)
get path 獲得節(jié)點的值 [可監(jiān)聽] -w 監(jiān)聽節(jié)點內(nèi)容變化 -s 附加次級信息
set 設(shè)置節(jié)點的具體值
stat 查看節(jié)點狀態(tài)
delete 刪除節(jié)點
deleteall 遞歸刪除節(jié)點

1、啟動客戶端

bin/zkCli.sh

2、顯示所有操作命令
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

3.2.2 ZNode節(jié)點數(shù)據(jù)信息

1、查看當(dāng)前ZNode所包含的信息

 ls /

zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
2、查看當(dāng)前節(jié)點詳細(xì)數(shù)據(jù)

 ls -s /

zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
(1)czxid:創(chuàng)建節(jié)點的事務(wù)zxid
每次修改 ZooKeeper 狀態(tài)都會產(chǎn)生一個 ZooKeeper 事務(wù) ID。事務(wù) ID 是 ZooKeeper 中所有修改總的次序。每次修改都有唯一的 zxid,如果 zxid1 小于 zxid2,那么 zxid1 在 zxid2 之前發(fā)生。
(2)ctime:ZNode被創(chuàng)建的毫秒數(shù)(從 1970 年開始)
(3)mzxid:znode 最后更新的事務(wù) zxid
(4)mtime:znode 最后修改的毫秒數(shù)(從 1970 年開始)
(5)pZxid:znode 最后更新的子節(jié)點 zxid
(6)cversion:znode 子節(jié)點變化號,znode 子節(jié)點修改次數(shù)
(7)dataversion:znode 數(shù)據(jù)變化號
(8)aclVersion:znode 訪問控制列表的變化號
(9)ephemeralOwner:如果是臨時節(jié)點,這個是 znode 擁有者的 session id。如果不是臨時節(jié)點則是 0。
(10)dataLength:znode 的數(shù)據(jù)長度
(11)numChildren:znode 子節(jié)點數(shù)量

3.2.3 節(jié)點類型(持久/短暫/有序號/無序號)

持久(Persistent):客戶端和服務(wù)器端斷開連接后,創(chuàng)建的節(jié)點不刪除
短暫(Ephemeral):客戶端和服務(wù)器端斷開連接后,創(chuàng)建的節(jié)點自己刪除。
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

(1)持久化目錄節(jié)點
客戶端與Zookeeper斷開連接后,該節(jié)點依舊存在
(2)持久化順序編號目錄節(jié)點
客戶端與Zookeeper斷開連接后,該節(jié)點依舊存在,只是Zookeeper給該節(jié)點名稱進(jìn)行順序編號
(3)臨時目錄節(jié)點
客戶端與Zookeeper斷開連接后,該節(jié)點被刪除
(4)臨時順序編號目錄節(jié)點
客戶端與 Zookeeper 斷開連接后 , 該 節(jié) 點 被 刪 除 , 只 是
Zookeeper給該節(jié)點名稱進(jìn)行順序編號。

說明:創(chuàng)建znode時設(shè)置順序標(biāo)識,znode名稱后會附加一個值,順序號是一個單調(diào)遞增的計數(shù)器,由父節(jié)點維護(hù)。
注意:在分布式系統(tǒng)中,順序號可以被用于為所有的事件進(jìn)行全局排序,這樣客戶端可以通過順序號推斷事件的順序。

1、分別創(chuàng)建2個普通節(jié)點(永久節(jié)點 + 不帶序號)
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
注意:在創(chuàng)建節(jié)點是要賦值
2、獲得節(jié)點的值
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
3、創(chuàng)建帶序號的節(jié)點(永久節(jié)點 + 帶序號)
(1)先創(chuàng)建一個普通的根節(jié)點/sanguo/weiguo
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
(2)創(chuàng)建帶序號的節(jié)點
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
如果原來沒有序號節(jié)點,序號從 0 開始依次遞增。如果原節(jié)點下已有 2 個節(jié)點,則再排序時從 2 開始,以此類推。
4、創(chuàng)建短暫節(jié)點(短暫節(jié)點 + 不帶序號 or 帶序號)
(1)創(chuàng)建短暫的不帶序號的節(jié)點
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
(2)創(chuàng)建短暫的帶序號的節(jié)點
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

(3)在當(dāng)前客戶端是能查看到的
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

(4)退出當(dāng)前客戶端然后再重啟客戶端,再次查看根目錄下短暫節(jié)點已經(jīng)刪除
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
5、修改節(jié)點數(shù)據(jù)值
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop

3.2.4 監(jiān)聽器原理

客戶端注冊監(jiān)聽它關(guān)心的目錄節(jié)點,當(dāng)目錄節(jié)點發(fā)生變化(數(shù)據(jù)改變、節(jié)點刪除、子目錄節(jié)點增加刪除)時,Zookeeper會通知客戶端。監(jiān)聽機(jī)制保證Zookeeper保存的任何的數(shù)據(jù)的任何變化都能快速的響應(yīng)到監(jiān)聽了該節(jié)點的應(yīng)用程序。
1、監(jiān)聽器詳解
(1)首先要有一個main()線程
(2)在main線程中創(chuàng)建Zookeeper客戶端,這時就會創(chuàng)建兩個線程,一個負(fù)責(zé)網(wǎng)絡(luò)通信(connect),一個負(fù)責(zé)監(jiān)聽(listener)。
(3)通過connect線程將注冊的監(jiān)聽事件發(fā)送給Zookeeper。
(4)在Zookeeper的注冊監(jiān)聽器列表中將注冊的監(jiān)聽事件添加到列表中。
(5)Zookeeper監(jiān)聽到所以數(shù)據(jù)或路徑發(fā)生變化,就會將這個消息發(fā)送給listener線程。
(6)listener線程內(nèi)部調(diào)用了process()方法。

2、常見的監(jiān)聽
(1)監(jiān)聽節(jié)點數(shù)據(jù)的變化
get path [watch]
(2)監(jiān)聽子節(jié)點增減的變化
ls path [watch]

zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
1、節(jié)點的值變化監(jiān)聽
(1)在 hadoop104 主機(jī)上注冊監(jiān)聽/sanguo 節(jié)點數(shù)據(jù)變化
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
(2)在 hadoop103 主機(jī)上修改/sanguo 節(jié)點的數(shù)據(jù)
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
(3)觀察 hadoop104 主機(jī)收到數(shù)據(jù)變化的監(jiān)聽
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
注意:在hadoop103再多次修改/sanguo的值,hadoop104上不會再收到監(jiān)聽。因為注冊監(jiān)聽一次,只能監(jiān)聽一次。想再次監(jiān)聽,需要再次注冊。

2、節(jié)點的子節(jié)點變化監(jiān)聽(路徑變化)
(1)在 hadoop104 主機(jī)上注冊監(jiān)聽/sanguo 節(jié)點的子節(jié)點變化
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
(2)在 hadoop103 主機(jī)/sanguo 節(jié)點上創(chuàng)建子節(jié)點
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
(3)觀察 hadoop104 主機(jī)收到子節(jié)點變化的監(jiān)聽
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
注意:節(jié)點的路徑變化,也是注冊一次,生效一次。想多次生效,就需要多次注冊。

3.2.5 節(jié)點刪除與查看

1、刪除節(jié)點
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
2、遞歸刪除節(jié)點
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop
3、查看節(jié)點狀態(tài)
zookeeper,Zookeeper,java-zookeeper,zookeeper,分布式,java,hadoop文章來源地址http://www.zghlxwxcb.cn/news/detail-843956.html

到了這里,關(guān)于Zookeeper快速入門(Zookeeper概述、安裝、集群安裝、選舉機(jī)制、命令行操作、節(jié)點類型、監(jiān)聽器原理)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 面試官:說一說Zookeeper中Leader選舉機(jī)制

    面試官:說一說Zookeeper中Leader選舉機(jī)制

    哈嘍!大家好,我是小奇,一位不靠譜的程序員 小奇打算以輕松幽默的對話方式來分享一些技術(shù),如果你覺得通過小奇的文章學(xué)到了東西,那就給小奇一個贊吧 文章持續(xù)更新,可以微信搜索【小奇JAVA面試】第一時間閱讀,回復(fù)【資料】更有我為大家準(zhǔn)備的福利喲! 今天又是

    2023年04月08日
    瀏覽(17)
  • 淺談Zookeeper集群選舉Leader節(jié)點源碼

    淺談Zookeeper集群選舉Leader節(jié)點源碼

    寫在前面: zookeeper源碼比較復(fù)雜,本文講解的重點為各個zookeeper服務(wù)節(jié)點之間的state選舉。至于各個節(jié)點之間的數(shù)據(jù)同步,不在文本的側(cè)重講解范圍內(nèi)。 在沒有對zookeeper組件有一個整體架構(gòu)認(rèn)識的基礎(chǔ)上,不建議直接死磕細(xì)節(jié)。本文寫作的目的也是基于此,閱讀本文,希望讀

    2024年02月07日
    瀏覽(16)
  • ZooKeeper的應(yīng)用場景(集群管理、Master選舉)

    ZooKeeper的應(yīng)用場景(集群管理、Master選舉)

    隨著分布式系統(tǒng)規(guī)模的日益擴(kuò)大,集群中的機(jī)器規(guī)模也隨之變大,因此,如何更好地進(jìn)行集群管理也顯得越來越重要了。 所謂集群管理,包括集群監(jiān)控與集群控制兩大塊,前者側(cè)重對集群運行時狀態(tài)的收集,后者則是對集群進(jìn)行操作與控制。在日常開發(fā)和運維過程中,我們經(jīng)

    2024年02月12日
    瀏覽(23)
  • ZooKeeper快速入門學(xué)習(xí)+在springboot中的應(yīng)用+監(jiān)聽機(jī)制的業(yè)務(wù)使用

    ZooKeeper快速入門學(xué)習(xí)+在springboot中的應(yīng)用+監(jiān)聽機(jī)制的業(yè)務(wù)使用

    目錄 前言 基礎(chǔ)知識 一、什么是ZooKeeper 二、為什么使用ZooKeeper 三、數(shù)據(jù)結(jié)構(gòu) 四、監(jiān)聽通知機(jī)制 五、選舉機(jī)制 使用 1 下載zookeeper 2 修改 3?排錯 在SpringBoot中的使用 安裝可視化插件 依賴 配置 安裝httpclient方便測試 增刪查改 新建控制器 創(chuàng)建節(jié)點 查詢節(jié)點 更新節(jié)點 刪除節(jié)點

    2024年02月11日
    瀏覽(28)
  • ZooKeeper只完美解決Unable to read additional data from server sessionid 0x0報錯問題,并帶你深度理解ZooKeeper內(nèi)部機(jī)制之選舉機(jī)制

    ZooKeeper只完美解決Unable to read additional data from server sessionid 0x0報錯問題,并帶你深度理解ZooKeeper內(nèi)部機(jī)制之選舉機(jī)制

    ?? 作者簡介:上火不找我,CSDN2022新星計劃top4??、算法領(lǐng)域新星創(chuàng)造者?? ??有什么問題直接私信作者,秒回哦?????? Linux環(huán)境下 今天搭建了一個zookeeper集群,分別為server2,server3,server4。 報錯如下: 在一個節(jié)點上進(jìn)入到zookeeper命令行執(zhí)行 zkCli.sh 時,報了下面這個異常! 一開

    2023年04月08日
    瀏覽(120)
  • Flume 快速入門【概述、安裝、攔截器】

    Flume 快速入門【概述、安裝、攔截器】

    Flume 是一個開源的數(shù)據(jù)采集工具,最初由 Apache 軟件基金會開發(fā)和維護(hù)。它的主要目的是幫助用戶將大規(guī)模數(shù)據(jù)從各種數(shù)據(jù)源(如日志文件、網(wǎng)絡(luò)數(shù)據(jù)源、消息隊列等)采集、傳輸和加載到數(shù)據(jù)存儲系統(tǒng)(如 Hadoop HDFS、Apache HBase、Apache Hive 等)。 Flume 旨在處理大規(guī)模數(shù)據(jù)流,

    2024年02月07日
    瀏覽(51)
  • 使用ZooKeeper實現(xiàn)數(shù)據(jù)分片機(jī)制及其集群容錯能力

    作者:禪與計算機(jī)程序設(shè)計藝術(shù) 在分布式數(shù)據(jù)庫中,數(shù)據(jù)分片是指將一個大的表按照業(yè)務(wù)規(guī)則或某種規(guī)則拆分成多個小的子表或者分區(qū),然后分別存儲到不同的物理服務(wù)器上,提高查詢效率、擴(kuò)展性等,而每個小的子表又可以稱之為“分片”,這個過程就是數(shù)據(jù)分片。一般情

    2024年02月05日
    瀏覽(28)
  • ZooKeeper教程、命令、集群

    ZooKeeper教程、命令、集群

    目錄 什么是Zookeeper? zookeeper的特性 zookeeper的作用 zookeeper的安裝 zookeeper的目錄結(jié)構(gòu)介紹 zookeeper配置文件zoo_sample.cfg zookeeper啟動 zookeeper基本數(shù)據(jù)模型 zookeeper的session zookeeper命令 zookeeper的watcher 機(jī)制 觸發(fā) watcher 事件 zookeeper的ACL權(quán)限 ACL 命令 acl world 示例 acl auth/digest 示例 acl i

    2024年02月03日
    瀏覽(55)
  • zookeeper選舉流程源碼分析

    zookeeper選舉流程源碼分析 選舉的代碼主要是在 QuorumPeer.java 這個類中。 它有一個內(nèi)部枚舉類,用來表示當(dāng)前節(jié)點的狀態(tài)。 LOOKING: 當(dāng)前節(jié)點在選舉過程中 FOLLOWING:當(dāng)前節(jié)點是從節(jié)點 LEADING: 當(dāng)前節(jié)點是主節(jié)點 OBSERVING: 當(dāng)前節(jié)點是觀察者狀態(tài),這種狀態(tài)的節(jié)點不參與選舉的投

    2024年02月11日
    瀏覽(21)
  • zookeeper源碼(04)leader選舉流程

    在\\\"zookeeper源碼(03)集群啟動流程\\\"中介紹了leader選舉的入口,本文將詳細(xì)分析leader選舉組件和流程。 quorumPeer的start階段使用startLeaderElection()方法啟動選舉 LOOKING狀態(tài),投自己一票 createElectionAlgorithm - 創(chuàng)建選舉核心組件:QuorumCnxManager(管理連接)、FastLeaderElection(選舉)等 quorumPeer的

    2024年02月05日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包