Zookeeper 基本 配置

2021-10-05 23:29:17 字數 2963 閱讀 7832

zookeeper是乙個開源的分布式的,為分布式應用提供協調服務的apache專案

乙個基於觀察者模式設計的分布式服務管理框架

負責儲存和管理大家都關心的資料,然後接受觀察者的註冊資料發生變化,zookeeper負責通知已經在zookeeper上註冊的那些觀察者做出相應的反應

zookeeper = 檔案系統 + 通知機制

zookeeper:乙個領導者(leader),多個跟隨者(follower)組成的集群

集群中只要有半數以上(不包括半數)節點存貨,zookeeper集群就能正常服務全域性資料一致:每個server儲存乙份相同的資料副本,client無論連線到那個server,資料都是一直的

更新請求順序進行,來自同乙個client的更新請求按其傳送順序依次進行

資料更新原子性,一次資料更新要麼成功要麼失敗

實時性,在一定時間範圍內,client能讀到最新資料

zookeeper資料模型的結構與unix檔案系統很類似,整體上可以看做一棵樹,每個節點稱作乙個znode。每乙個znode預設能夠儲存1mb的資料,每個znode都可以通過其路徑唯一標識

統一命名服務、統一配置管理、統一集群管理、伺服器節點動態上下線、軟負載均衡等

在分布式環境下,經常需要對應用/服務進行統一命名,便於識別

分布式環境下, 配置檔案同步非常常見

一般乙個集群中,所有節點的配置資訊是一致的,如kafka集群

對配置檔案修改後,希望能夠快速同步到各個幾點上

配置管理可由zookeeper實現

可將配置資訊寫入zookeeper上的乙個znode

各個客戶端伺服器監聽這個znode

一旦znode中的資料被修改,zookeeper將通知各個客戶端伺服器

分布式環境中,實時掌控每個節點的狀態是必要的

可以根據節點實時狀態做出一些調整

zookeeper可以實現實時監控節點狀態變化

可以將節點資訊寫入zookeeper上的乙個znode

監聽這個znode可以獲取它的實時狀態變化

在zookeeper中記錄每台伺服器的訪問數,讓訪問數最少的伺服器去處理最新的客戶端請求

docker

普通安裝

解壓 【tar -xzvf apache-zookeeper-3.5.5-bin.tar.gz】

進入conf,複製配置檔案【cp zoo_sample.cfg zoo.cfg

】在跟bin,conf同等目錄下,建立data目錄

授權 【 chown -r root:root ./

】編輯zoo.cfg(剛剛建立的data)

進入bin資料夾,執行啟動命令(請看基本操作)

docker run -d --name zk --restart always -p 2181:2181 -p 2182:2182 -p 2183:2183 -v /home/dockerusr/zookeeper/conf/zoo.cfg:/conf/zoo.cfg -v /home/dockerusr/zookeeper/data:/data -v /home/dockerusr/zookeeper/log:/datalog zookeeper
ticktime=2000: zookeeper伺服器與客戶端心跳時間,2s一次(設定最小的session超時時間為兩倍心跳時間)

initlimit=10:leader和follow初始連線時能容忍的最多心跳數,10個心跳,即最長時間102

synclimit=5:leader和follow集群正常啟動之後通訊時間,52,如果相應超過5*2,認為follower撕掉,從列表刪除

datadie:資料檔案目錄+資料持久化路徑,主要用於儲存資料

clientport:客戶端連線埠

# 在zookeeper-3.4.14目錄下:

# 開啟服務

bin/zkserver.sh start

# 停止服務

bin/zkserver.sh stop

# 檢視狀態

bin/zkserver.sh status

# 進入客戶端

bin/zkcli.sh

大佬

Zookeeper 3 4 9 基本配置

hadoop master1 cat zookeeper conf zoo.cfg the number of milliseconds of each tick 每個心跳的時長 單位為毫秒 ticktime 2000 the number of ticks that the initial syn...

配置zookeeper日誌

zookeeper日誌預設生成的zookeeper.log檔案會在 zoocfgdir bin下,並且檔案會無限增大,時間久了會嚴重占用磁碟空間,並且一直處於增長,並沒有控制機制,所以要合理的配合zookeeper.out日誌輸出。主要修改 zoocfgdir bin zkenv.sh檔案。修改前i...

Zookeeper集群配置

啟動zookeeper的單機模式是非常簡單的,它在用作開發 測試和評估時間很方便。然而在生產環境下,為了保障服務的高可用性應該要使用集群模式。有關zookeeper的簡介和單機模式示例請參考 zookeeper簡介和入門示例 在集群模式下,所有配置檔案和單機相比是基本相同的,只有一點細微的差別。os...