Zookeeper08——Zookeeper服務器關鍵配置與說明(zoo.cfg)

1.基礎配置
  • clientPort
    • 客戶端所連接的服務器所監聽的TCP端口,默認情況下,服務端會監聽在所有連接到這個端口的客戶端,除非設置了clientPortAddress參數。客戶端端口可以是任何值,默認爲2181
  • dataDirdataLogDir
    • dataDir用於配置內存數據庫保存的模糊快照的目錄,如果某個服務器爲集羣中的一臺,id文件也保存在該目錄下。快照是以後臺線程的方式來寫入,不會鎖定內存數據庫。
    • dataLogDir存儲事務日誌。服務端會嘗試進行順序寫入事務日誌。
  • tickTime
    • tick的時長單位爲毫秒,tick爲zookeeper使用的基本時間度量單位。Zookeeper集羣中使用的超時時間單位通過tickTime指定,即tickTime設置了超時時間的下限值,因爲最小的超時時間爲一個tick時間,客戶端最小會話超時時事件爲兩個ticktime時間。
    • tickTime默認值爲3000毫秒,更低的tickTime值可以更快的發現超時問題,也會導致更高的網絡流量(心跳信息)和更高的CPU使用率(會話存儲器的處理)。
2.存儲配置
  • preAllocSzie
    • 用於設置預分配的事務日誌文件的大小值,以kb爲單位。
    • 當寫入事務日誌文件時,服務端每次會分配preAllocSize值的KB的存儲大小,通過這種方式可以分攤文件系統將磁盤分配存儲空間更新元數據的開銷以及減少文件尋址操作的次數。
    • 默認值爲64MB,該值需要進行縮小,因爲事務日誌永遠不可能達到這麼大,每次快照後會重新啓動一個新的事務日誌,如果每次快照之間額度事務日誌數量很小,而且每個事務本身也很小,那64MB的默認值就顯得太大了。
    • 默認值適用於:默認的snapCount和平均事務超過512字節的情況。
  • snapCount
    • 指定每次快照之間的事務數。默認值爲100000(10萬)。
    • 在snapCount已達到,但是前一個快照正在進行中,新的快照不會開始。
  • autopurge.snapRetainCount
    • 進行清理數據操作的時候,需要保留的快照數量和對應的事務日誌文件的數量。默認值爲3。
  • autopurge.purgeInterval
    • 對快照和日誌進行垃圾回收操作時間間隔的小時數。如果設置爲0,默認情況下,垃圾回收不會自動進行。
  • fsync.warningthresholdms
    • 觸發警告的存儲同步操作的閥值,以毫秒爲單位。默認值爲1000毫秒。
    • Zookeeper服務器在應答變化消息前會同步變化到存儲中。如果同步系統調用消耗了太長時間,系統性能就會受到影響,在超過我們設定的閥值時,會產生一個警告信息。
  • weight.x=n
    • x:爲集羣中的myid值
    • n:表示該服務器在進行投票時的權重值。默認值爲1。
  • traceFile
    • 持續跟蹤Zookeeper的操作,並將操作記錄到跟蹤日誌中,跟蹤日誌的文件名爲traceFile.year.month.day。
3.網絡配置
  • globalOutstandingLimit
    • Zookeeper中待處理請求的最大值。默認值爲1000
    • Zookeeper客戶端提交請求比Zookeeper服務器端處理請求快很多,服務端將會對接收到的請求隊列化,最終(也許幾秒內)可能會導致服務端的內存溢出。爲防止這個問題,Zookeeper服務端中如果待處理的請求達到globalOutstandingLimit值就會限制客戶端的請求。如果在當前客戶端沒有一個待處理請求,則該客戶端還可以發起一次。
  • maxClientCnxns
    • 允許每個IP地址的併發socket連接的最大數量。Zookeeper通過流量控制和限制值來避免過載情況的發生。默認值爲60。
    • 在集羣中,如5個機器中,一個客戶端可以達到的最大連接值爲5*60=300。
  • clientPortAddress
    • 限制客戶端連接到指定的接收信息的地址上。默認爲所有。
  • minSessionTimeout
    • 最小會話超時時間,單位爲毫秒。默認值爲兩個tickTime。
  • maxSessionTimeout
    • 會話的最大超時時間值,單位爲毫秒,默認爲20個tickTime。
4.集羣配置
  • initLimit
    • 對追隨者最初連接到羣首時的超時值,單位爲tick值的倍數。沒有默認值。
  • syncLimit
    • 追隨者與羣首之間進行sync操作時的超時值,單位爲ticket值的倍數。莫有默認值。
  • leaderServes
    • 配置值爲‘yes’或‘no’標誌,只是羣首服務器是否爲客戶端提供服務。
  • server.x=[hostname]:n:n[:observer]
    • x:集中中服務器的myid。
    • hostname:集羣服務器在網絡中的名稱(ip或域名)。
    • 第一個n:用於事務發送的端口
    • 第二個n:用於羣首選舉的端口
    • observer:填寫則表示,該服務器爲觀察者。
  • cnxTime
    • 在羣首選舉打開一個新的連接的超時值。
  • electionAlg
    • 選舉算法的配置項。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章