zookeeper配置檔案詳解
本文主要內容來自於:
配置引數詳解(主要是%ZOOKEEPER_HOME%/conf/zoo.cfg檔案)
引數名 |
說明 |
clientPort |
客戶端連線server的埠,即對外服務埠,一般設定為2181吧。 |
dataDir |
儲存快照檔案snapshot的目錄。預設情況下,事務日誌也會儲存在這裡。建議同時配置引數dataLogDir, 事務日誌的寫效能直接影響zk效能。 |
tickTime |
ZK中的一個時間單元。ZK中所有時間都是以這個時間單元為基礎,進行整數倍配置的。例如,session的最小超時時間是2*tickTime。 |
dataLogDir |
事務日誌輸出目錄。儘量給事務日誌的輸出配置單獨的磁碟或是掛載點,這將極大的提升ZK效能。 |
globalOutstandingLimit |
最大請求堆積數。預設是1000。ZK執行的時候, 儘管server已經沒有空閒來處理更多的客戶端請求了,但是還是允許客戶端將請求提交到伺服器上來,以提高吞吐效能。當然,為了防止Server記憶體溢位,這個請求堆積數還是需要限制下的。 |
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對所有客戶端的連線數限制。指定客戶端IP的限制策略,這裡有一個patch,可以嘗試一下:(No Java system property) |
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 |
electionAlg |
在之前的版本中, 這個引數配置是允許我們選擇leader選舉演算法,但是由於在以後的版本中,只會留下一種“TCP-based version of fast leader election”演算法,所以這個引數目前看來沒有用了,這裡也不詳細展開說了。(No Java system property) |
initLimit |
Follower在啟動過程中,會從Leader同步所有最新資料,然後確定自己能夠對外服務的起始狀態。Leader允許F在initLimit時間內完成這個工作。通常情況下,我們不用太在意這個引數的設定。如果ZK叢集的資料量確實很大了,F在啟動的時候,從Leader上同步資料的時間也會相應變長,因此在這種情況下,有必要適當調大這個引數了。(No Java system property) |
syncLimit |
在執行過程中,Leader負責與ZK叢集中所有機器進行通訊,例如透過一些心跳檢測機制,來檢測機器的存活狀態。如果L發出心跳包在syncLimit之後,還沒有從F那裡收到響應,那麼就認為這個F已經不線上了。注意:不要把這個引數設定得過大,否則可能會掩蓋一些問題。(No Java system property) |
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 |
ZK許可權設定相關,具體參見 《 使用super 身份對有許可權的節點進行操作》 和 《 ZooKeeper 許可權控制》 |
skipACL |
對所有客戶端請求都不作ACL檢查。如果之前節點上設定有許可權限制,一旦伺服器上開啟這個開頭,那麼也將失效。(Java system property: zookeeper.skipACL) |
forceSync |
這個引數確定了是否需要在事務日誌提交的時候呼叫.force來保證資料完全同步到磁碟。(Java system property: zookeeper.forceSync) |
jute.maxbuffer |
每個節點最量,是預設是1M。這個限制必須在server和client端都進行設定才會生效。(Java system property: jute.maxbuffer) |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20801486/viewspace-2122241/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ZooKeeper系列(4):ZooKeeper的配置檔案詳解
- zookeeper 配置詳解
- redis 配置檔案詳解Redis
- haproxy配置檔案詳解
- redis配置檔案詳解Redis
- SSH配置檔案詳解
- nginx配置檔案詳解Nginx
- WCF配置檔案詳解
- Nginx的配置檔案詳解Nginx
- vim的配置檔案詳解
- Hibernate配置檔案詳解
- BIND配置檔案詳解(三)
- Spring 配置檔案詳解Spring
- vsftpd配置檔案詳解FTP
- Nagios配置檔案詳解iOS
- spring配置檔案詳解Spring
- Nginx 配置檔案引數詳解Nginx
- 屬性配置檔案詳解(2)
- Docker Compose 配置檔案詳解Docker
- MyBatis--主配置檔案詳解MyBatis
- influx詳解(二):配置檔案UX
- Struts配置檔案詳細講解
- redis配置檔案引數詳解Redis
- Mysql配置檔案my.ini配置項詳解MySql
- MyBatis 核心配置檔案詳細內容詳解MyBatis
- linux的啟動配置檔案inittab檔案詳解Linux
- PHP配置檔案詳解php.iniPHP
- nginx.conf 配置檔案詳解Nginx
- Tomcat 的 Server 檔案配置詳解!!!TomcatServer
- linux網路卡配置檔案詳解Linux
- Python之ini配置檔案詳解Python
- git config配置檔案詳解Git
- Maven pom.xml檔案配置詳解MavenXML
- MySQL 配置檔案 (my.ini) 詳解MySql
- sysctl.conf檔案配置詳解
- compose配置檔案引數詳解
- resin配置檔案的詳細解釋
- log4j配置檔案詳解