分布式 zookeeper快速上手

2021-09-26 15:44:30 字數 2036 閱讀 9709

zookeeper中對使用者的資料採用kv形式儲存

只是zk有點特別:

key:是以路徑的形式表示的,那就以為著,各key之間有父子關係,比如

/ 是頂層key

使用者建的key只能在/ 下作為子節點,比如建乙個key: /aa  這個key可以帶value資料

也可以建乙個key:   /bb

也可以建key: /aa/xx

zookeeper中,對每乙個資料key,稱作乙個znode

綜上所述,zk中的資料儲存形式如下:

zookeeper中的znode有多種型別:

persistent  持久的:建立者就算跟集群斷開聯絡,該類節點也會持久存在與zk集群中

ephemeral  短暫的:建立者一旦跟集群斷開聯絡,zk就會將這個節點刪除

組合型別:

persistent  :持久不帶序號

ephemeral  :短暫不帶序號

persistent  且 sequential   :持久且帶序號

ephemeral  且 sequential  :短暫且帶序號

上傳安裝包到集群伺服器解壓修改配置檔案

進入zookeeper的安裝目錄的conf目錄

cp zoo_sample.cfg zoo.cfg

vi zoo.cfg

# the number of milliseconds of each tick

ticktime=2000

initlimit=10

synclimit=5

datadir=/root/zkdata

clientport=2181

#autopurge.purgeinterval=1

server.1=hdp20-01:2888:3888

server.2=hdp20-02:2888:3888

server.3=hdp20-03:2888:3888

對3臺節點,都建立目錄 mkdir /root/zkdata

對3臺節點,在工作目錄中生成

myid

檔案,但內容要分別為各自的id: 1,2,3

hdp20-01上:  echo 1 > /root/zkdata/myid

hdp20-02上:  echo 2 > /root/zkdata/myid

hdp20-03上:  echo 3 > /root/zkdata/myid

4,從hdp20-01上scp安裝目錄到其他兩個節點

scp -r zookeeper-3.4.6/ hdp20-02$pwd

scp -r zookeeper-3.4.6/ hdp20-03:$pwd

5 啟動zookeeper集群

zookeeper沒有提供自動批量啟動指令碼,需要手動一台一台地起zookeeper程序

在每一台節點上,執行命令:

bin/zkserver.sh start

啟動後,用jps應該能看到乙個程序:quorumpeermain但是,光有程序不代表zk已經正常服務,需要用命令檢查狀態:

bin/zkserver.sh status

能看到角色模式:為leader或follower,即正常了。

分布式5 zookeeper分布式

一 為什麼需要zookeeper 大部分分布式應用需要乙個主控 協調器或控制器來管理物理分布的子程序 如資源 任務分配等 大部分應用需要開發私有的協調程式,缺乏乙個通用的機制 協調程式的反覆編寫浪費,且難以形成通用 伸縮性好的協調器 zookeeper可以提供通用的分布式鎖服務,用以協調分布式應用,...

zookeeper分布式鎖

方案1 演算法思路 利用名稱唯一性,加鎖操作時,只需要所有客戶端一起建立 test lock節點,只有乙個建立成功,成功者獲得鎖。解鎖時,只需刪除 test lock節點,其餘客戶端再次進入競爭建立節點,直到所有客戶端都獲得鎖。特點 這種方案的正確性和可靠性是zookeeper機制保證的,實現簡單。...

zookeeper偽分布式

wget解壓 tar zxvf zookeeper 3.4.5 cdh5.9.3.tar.gz c opt 進入 opt 目錄修改檔名 mv zookeeper 3.4.5 cdh5.9.3 zookeeper01進入 opt zookeeper01 conf目錄設定配置檔案 cp zoo samp...