zookeeper3.3學習筆記2:配置參數介紹

最小配置html

  • clientPort 監聽客戶端鏈接的端口算法

  • dataDir 內存數據庫快照存放地址,若是沒有指定事務日誌存放地址(dataLogDir),默認也是存放在這個路徑下,建議兩個地址分開存放到不一樣的設備上。數據庫

  • tickTime 心跳基本時間單位,毫秒級,ZK基本上全部的時間都是這個時間的整數倍。apache

高級配置(可選,有的須要直接經過系統屬性進行設置)安全

  • dataLogDir 將事務日誌存儲在該路徑下,比較重要,這個日誌存儲的設備效率會影響ZK的寫吞吐量。服務器

  • globalOutstandingLimit (Java system property: zookeeper.globalOutstandingLimit)默認值是1000,限定了全部鏈接到服務器上可是尚未返回響應的請求個數(全部客戶端請求的總數,不是鏈接總數),這個參數是針對單臺服務器而言,設定太大可能會致使內存溢出。網絡

  • preAllocSize (Java system property: zookeeper.preAllocSize)默認值64M,以KB爲單位,預先分配額定空間用於後續transactionlog 寫入,每當剩餘空間小於4K時,就會又分配64M,如此循環。若是SNAP作得比較頻繁(snapCount比較小的時候),那麼請減小這個值。session

  • snapCount (Java system property: zookeeper.snapCount)默認值100,000,當transaction每達到snapCount/2+rand.nextInt(snapCount/2)時,就作一次SNAPSHOT,默認狀況下是50,000~100,000條transactionlog就會作一次,之因此用隨機數是爲了不全部服務器可能在同一時間作snapshot.spa

  • traceFile (Java system property: requestTraceFile).net

  • maxClientCnxns 默認值是10,一個客戶端可以鏈接到同一個服務器上的最大鏈接數,根據IP來區分。若是設置爲0,表示沒有任何限制。設置該值一方面是爲了防止DoS攻擊。

  • clientPortAddress 與clientPort匹配,表示某個IP地址,若是服務器有多個網絡接口(多個IP地址),若是沒有設置這個屬性,則clientPort會綁定到全部IP地址上,不然只綁定到該設置的IP地址上。

  • minSessionTimeout 最小的session time時間,默認值是2個tick time,客戶端設置的session time 若是小於這個值,則會被強制協調爲這個最小值。

  • maxSessionTimeout 最大的session time 時間,默認值是20個tick time. ,客戶端設置的session time 若是大於這個值,則會被強制協調爲這個最大值。

集羣配置選項

  • electionAlg 領導選舉算法,默認是3(fast leader election,基於TCP),0表示leader選舉算法(基於UDP),1表示非受權快速選舉算法(基於UDP),2表示受權快速選舉算法(基於UDP),目前1和2算法都沒有應用,不建議使用,0算法將來也可能會被幹掉,只保留3(fast leader election)算法,所以最好直接使用默認就好。

  • initLimit tickTime的個數,表示在leader選舉結束後,followers與leader同步須要的時間,若是followers比較多或者說leader的數據灰常多時,同步時間相應可能會增長,那麼這個值也須要相應增長。固然,這個值也是follower和observer在開始同步leader的數據時的最大等待時間(setSoTimeout)

  • syncLimit  tickTime的個數,這時間容易和上面的時間混淆,它也表示follower和observer與leader交互時的最大等待時間,只不過是在與leader同步完畢以後,進入正常請求轉發或ping等消息交互時的超時時間。

  • leaderServes (Java system property: zookeeper.leaderServes)  若是該值不是no,則表示該服務器做爲leader時是須要接受客戶端鏈接的。爲了得到更高吞吐量,當服務器數三臺以上時通常建議設置爲no。

  • cnxTimeout (Java system property: zookeeper.cnxTimeout) 默認值是5000,單位ms 表示leaderelection時打開鏈接的超時時間,只用在算法3中。

不安全配置項

  • skipACL  (Java systemproperty: zookeeper.skipACL) 默認值是no,忽略全部ACL檢查,至關於開放了全部數據權限給任何人。

  • forceSync  (Java systemproperty: zookeeper.forceSync) 默認值是yes, 表示transactionlog在commit時是否當即寫到磁盤上,若是關閉這個選項可能會在斷電時丟失信息。

  • jute.maxbuffer(Java system property: jute.maxbuffer)默認值0xfffff,單位是KB,表示節點數據最多1M。若是要設置這個值,必需要在全部服務器上都須要設置。

轉自: http://blog.csdn.net/lovingprince/article/details/6853753

原文: http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html#sc_configuration

相關文章
相關標籤/搜索