zookeeper 配置文件詳情

来源:https://www.cnblogs.com/qianyuliang/archive/2020/07/21/13354171.html
-Advertisement-
Play Games

目錄結構 目錄名作用 bin 存放系統腳本 conf 存放配置文件 contrib zk附加功能支持 dist-maven maven倉庫文件 docs zk文檔 lib 依賴的第三方庫 recipes 經典場景樣例代碼 src zk源碼 conf 目錄 conf 目錄用來存檔配置文件,zoo.cf ...


目錄結構

目錄名作用
bin 存放系統腳本
conf 存放配置文件
contrib zk附加功能支持
dist-maven maven倉庫文件
docs zk文檔
lib 依賴的第三方庫
recipes 經典場景樣例代碼
src zk源碼

 

conf 目錄

conf 目錄用來存檔配置文件,zoo.cfg 是核心配置文件。參數如下:

clientPort 	
##客戶端連接server的埠,即對外服務埠,一般設置為 2181。

dataDir 	
##存儲快照文件 snapshot 的目錄。預設情況下,事務日誌也會存儲在這裡。建議同時配置參數dataLogDir, 事務日誌的寫性能直接影響zk性能。

tickTime 	
#ZK中的一個時間單元。ZK中所有時間都是以這個時間單元為基礎,進行整數倍配置的。例如,session的最小超時時間是2*tickTime。

dataLogDir 	
#事務日誌輸出目錄。儘量給事務日誌的輸出配置單獨的磁碟或是掛載點,這將極大的提升ZK性能。(No Java system property)

globalOutstandingLimit 	
#最大請求堆積數。預設是1000。ZK運行的時候, 儘管server已經沒有空閑來處理更多的客戶端請求了,但是還是允許客戶端將請求提交到伺服器上來,以提高吞吐性能。
#當然,為了防止Server記憶體溢出,這個請求堆積數還是需要限制下的。(Java system property: zookeeper.globalOutstandingLimit.)

preAllocSize 	
#預先開闢磁碟空間,用於後續寫入事務日誌。預設是64M,每個事務日誌大小就是64M。如果ZK的快照頻率較大的話,建議適當減小這個參數。(Java system property: zookeeper.preAllocSize)

snapCount 	
#每進行 snapCount 次事務日誌輸出後,觸發一次快照(snapshot), 此時,ZK會生成一個snapshot.文件,同時創建一個新的事務日誌文件log.。
#預設是100000.(真正的代碼實現中,會進行一定的隨機數處理,以避免所有伺服器在同一時間進行快照而影響性能)(Java system property: zookeeper.snapCount)

traceFile 	
#用於記錄所有請求的log,一般調試過程中可以使用,但是生產環境不建議使用,會嚴重影響性能。(Java system property:? requestTraceFile)

maxClientCnxns 	
#單個客戶端與單台伺服器之間的連接數的限制,是ip級別的,預設是60,如果設置為0,那麼表明不作任何限制。請註意這個限制的使用範圍,僅僅是單台客戶端機器與單台ZK伺服器之間的連接數限制,不是針對指定客戶端IP,也不是ZK集群的連接數限制,也不是單台ZK對所有客戶端的連接數限制。

clientPortAddress 	
#對於多網卡的機器,可以為每個IP指定不同的監聽埠。預設情況是所有IP都監聽 clientPort指定的埠。 New in 3.3.0

minSessionTimeoutmaxSessionTimeout 	
#Session超時時間限制,如果客戶端設置的超時時間不在這個範圍,那麼會被強制設置為最大或最小時間。預設的Session超時時間是在2 * tickTime ~ 20 * tickTime 這個範圍 New in 3.3.0

fsync.warningthresholdms 	
#事務日誌輸出時,如果調用fsync方法超過指定的超時時間,那麼會在日誌中輸出警告信息。預設是1000ms。(Java system property: fsync.warningthresholdms**) **New in 3.3.4

autopurge.purgeInterval 	
#3.4.0及之後版本,ZK提供了自動清理事務日誌和快照文件的功能,這個參數指定了清理頻率,單位是小時,需要配置一個1或更大的整數,預設是0,表示不開啟自動清理功能。(No Java system property) New in 3.4.0

autopurge.snapRetainCount 	
#這個參數和上面的參數搭配使用,這個參數指定了需要保留的文件數目。預設是保留3個。(No Java system property) New in 3.4.0

initLimit 	
#Follower在啟動過程中,會從Leader同步所有最新數據,然後確定自己能夠對外服務的起始狀態。Leader允許F在 initLimit時間內完成這個工作。通常情況下,我們不用太在意這個參數的設置。如果ZK集群的數據量確實很大了,F在啟動的時候,從Leader上同步數據的時間也會相應變長,因此在這種情況下,有必要適當調大這個參數了。(No Java system property)

syncLimit 	
#在運行過程中,Leader負責與ZK集群中所有機器進行通信,例如通過一些心跳檢測機制,來檢測機器的存活狀態。如果L發出心跳包在syncLimit之後,還沒有從F那裡收到響應,那麼就認為這個F已經不線上了。註意:不要把這個參數設置得過大,否則可能會掩蓋一些問題。

leaderServes 	
#預設情況下,Leader是會接受客戶端連接,並提供正常的讀寫服務。但是,如果你想讓Leader專註於集群中機器的協調,那麼可以將這個參數設置為no,這樣一來,會大大提高寫操作的性能。(Java system property: zookeeper. leaderServes)。

server.x=[hostname]:nnnnn[:nnnnn] 	
#這裡的x是一個數字,與myid文件中的id是一致的。右邊可以配置兩個埠,第一個埠用於F和L之間的數據同步和其它通信,第二個埠用於Leader選舉過程中投票通信。

group.x=nnnnn[:nnnnn]weight.x=nnnnn 	
#對機器分組和權重設置,可以  參見這裡(No Java system property)

cnxTimeout 	
#Leader選舉過程中,打開一次連接的超時時間,預設是5s。(Java system property: zookeeper. cnxTimeout)

zookeeper.DigestAuthenticationProvider.superDigest 	
#ZK許可權設置相關,具體參見  《  使用super  身份對有許可權的節點進行操作 》  和  《 ZooKeeper   許可權控制 》

skipACL 	
#對所有客戶端請求都不作ACL檢查。如果之前節點上設置有許可權限制,一旦伺服器上打開這個開頭,那麼也將失效。(Java system property: zookeeper.skipACL)

forceSync 	
#這個參數確定了是否需要在事務日誌提交的時候調用 FileChannel .force來保證數據完全同步到磁碟。(Java system property: zookeeper.forceSync )

jute.maxbuffer 
#每個節點最大數據量,是預設是1M。這個限制必須在server和client端都進行設置才會生效。(Java system property: jute.maxbuffer )

  

 本文轉載出處:https://www.cnblogs.com/xiohao/p/5541093.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本人純屬Windows用膩,後期請大佬多多指教 前面因為沒U盤而碰壁的內容在此不說,接下來因為太興奮,關於安裝U盤製作沒記錄什麼。 然後,經過一番折騰,分區問題解決了,但接下來卻······卡在寫盤! 最終決定虛擬機 ...
  • 一 HTTPS概述 1.1 HTTPS介紹 超文本傳輸安全協議HTTPS(Hypertext Transfer Protocol Secure)是超文本傳輸協議和SSL/TLS的組合,用以提供加密通訊及對網路伺服器身份的鑒定。 HTTPS也可以理解為HTTP over SSL,即HTTP連接建立在S ...
  • ###Makefile編譯應用程式 cc = gcc prom = calc deps = $(shell find ./ -name "*.h") src = $(shell find ./ -name "*.c") obj = $(src:%.c=%.o) # 會將src所有的.c字串替換成.o ...
  • 1、備份源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2、下載新的 CentOS-Base.repo 到 /etc/yum.repos.d/ wget -O /etc/yum.repos ...
  • 我們都知道 MySQL 是支持多事務併發執行的,否則一個事務一個事務串列化處理,用戶都要砸鍵盤了。那麼,多個事務同時寫一行數據怎麼處理?一個事務在寫數據的時候,另一個事務要讀,又該怎麼處理這個衝突?為瞭解決這些問題,MySQL 使用了 MVCC 多版本控制機制、事務隔離機制、鎖。 ...
  • 本文更新於2020-04-05,使用MySQL 5.7,操作系統為Deepin 15.4。 使用連接池 對於訪問資料庫來說,建立連接的代價比較昂貴。 減少對MySQL的訪問 應用應避免對同一數據做重覆檢索,減少對資料庫無謂的重覆訪問。 在應用端增加CACHE層可減輕資料庫的負擔。 負載均衡 負載均衡 ...
  • 一、使用免密碼登錄 1.使用 #find / -name my.cfg 找到mysql配置文件 2.vim /etc/mysql/my.cfg (我的配置文件是這個路徑,每個人的路徑可能有所不同,用find查詢後再編輯) 在[mysqld]設置下添加skip-grant-tables參數(跳過許可權列 ...
  • 對於sql優化,除了索引之外,執行計劃和統計信息是無法繞開的一個話題,如果sql優化(所有的RDBMS)脫離了統計信息的話就少了一個為什麼的過程,味道就感覺少了一大半。剛接觸Postgresql,粗淺地學習總結一下Postgresql相關的統計信息。 postgresql 進程模型 開始之前,有必要 ...
一周排行
    -Advertisement-
    Play Games
  • C#TMS系統代碼-基礎頁面BaseCity學習 本人純新手,剛進公司跟領導報道,我說我是java全棧,他問我會不會C#,我說大學學過,他說這個TMS系統就給你來管了。外包已經把代碼給我了,這幾天先把增刪改查的代碼背一下,說不定後面就要趕鴨子上架了 Service頁面 //using => impo ...
  • 委托與事件 委托 委托的定義 委托是C#中的一種類型,用於存儲對方法的引用。它允許將方法作為參數傳遞給其他方法,實現回調、事件處理和動態調用等功能。通俗來講,就是委托包含方法的記憶體地址,方法匹配與委托相同的簽名,因此通過使用正確的參數類型來調用方法。 委托的特性 引用方法:委托允許存儲對方法的引用, ...
  • 前言 這幾天閑來沒事看看ABP vNext的文檔和源碼,關於關於依賴註入(屬性註入)這塊兒產生了興趣。 我們都知道。Volo.ABP 依賴註入容器使用了第三方組件Autofac實現的。有三種註入方式,構造函數註入和方法註入和屬性註入。 ABP的屬性註入原則參考如下: 這時候我就開始疑惑了,因為我知道 ...
  • C#TMS系統代碼-業務頁面ShippingNotice學習 學一個業務頁面,ok,領導開完會就被裁掉了,很突然啊,他收拾東西的時候我還以為他要旅游提前請假了,還在尋思為什麼回家連自己買的幾箱飲料都要叫跑腿帶走,怕被偷嗎?還好我在他開會之前拿了兩瓶芬達 感覺感覺前面的BaseCity差不太多,這邊的 ...
  • 概述:在C#中,通過`Expression`類、`AndAlso`和`OrElse`方法可組合兩個`Expression<Func<T, bool>>`,實現多條件動態查詢。通過創建表達式樹,可輕鬆構建複雜的查詢條件。 在C#中,可以使用AndAlso和OrElse方法組合兩個Expression< ...
  • 閑來無聊在我的Biwen.QuickApi中實現一下極簡的事件匯流排,其實代碼還是蠻簡單的,對於初學者可能有些幫助 就貼出來,有什麼不足的地方也歡迎板磚交流~ 首先定義一個事件約定的空介面 public interface IEvent{} 然後定義事件訂閱者介面 public interface I ...
  • 1. 案例 成某三甲醫預約系統, 該項目在2024年初進行上線測試,在正常運行了兩天後,業務系統報錯:The connection pool has been exhausted, either raise MaxPoolSize (currently 800) or Timeout (curren ...
  • 背景 我們有些工具在 Web 版中已經有了很好的實踐,而在 WPF 中重新開發也是一種費時費力的操作,那麼直接集成則是最省事省力的方法了。 思路解釋 為什麼要使用 WPF?莫問為什麼,老 C# 開發的堅持,另外因為 Windows 上已經裝了 Webview2/edge 整體打包比 electron ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...