zookeeper通常采用配置文件zoo.cfg加載配置,其可以配置的參數為:
clientPort:
用于配置當前服務器對客戶端暴露的端口
,一般配置為2181,無默認值dataDir:
用于配置zookeeper服務器存儲快照文件(zookeeper 節點數據)的目錄,無默認值dataLogDir:
用于配置服務器存儲事務日志文件的目錄,有默認值dataDir,但是建議將兩個目錄分別配置,防止磁盤的并發讀寫,影響服務器性能。可將其配置在一個單獨的磁盤上。tickTime:
心跳時間,用于配置服務器最小時間的單位,默認值3000ms,心跳檢測時間通常是該單位的倍數。如客戶端與服務端之間的會話超時時間在2tickTime~20tickTime之間。initLimit:
用于配置leader服務器等待Follewer服務器啟動,并完成數據同步的時間,默認為10,表示10*tickTimesyncLimit:
用于配置leader服務器和Follewer服務器之間進行心跳檢測的最大延時時間,默認為5,表示5*tickTimeminSessionTimeout & maxSessionout:
用于服務端對客戶端會話超時時間的限制,也就是客戶端自定義的超時時間必須在minSessionTimeout~maxSessionout內,其默認為分別為2 和 20,時間表示為2tickTime~20tickTimemaxClientCnxns:
從socket層面限制單個客戶端和單臺服務器之間的最大并發連接數,即以IP地址粒度來進行連接數的限制,如果為0,表示不作限制,默認為60clientPortAddress:
針對多網卡的機器,該參數允許為每個IP地址指定不同的監聽端口server.id=host:port:port:
用于配置組成zookeeper集群的機器列表,其中id為serverId,與myid文件中的值對應。第一個端口用于指定Leader服務器和Follewer服務器進行運行時通信和數據同步所使用的端口,第二個端口用于進行Leader選舉過程中的投票通信autopurge.snapRetainCount:
用于配置zookeeper在自動清理的時候需要保留的快照數據文件數量和對應的事務日志文件,默認為3,切自定義值小于3也會取值3
僅支持系統屬性方式配置的參數:
-
snapCount:
用于配置相鄰兩次數據快照之間的事務操作次數,即zookeeper會在snapCount次事務之后進行一次數據快照,默認為100000 -
preAllocSize:
用于配置zookeeper事務日志文件預分配的磁盤空間大小,默認為65536,單位KB,即64MB,與snapCount同時修改,如將snapCount設置為500,每次事務操作的數據量最多為1KB,則preAllocSize設置為500即可
forceSync:
用于配置zookeeper是否在事務提交的時候,將日志寫入操作強制刷入磁盤,默認為yes,表示強制刷盤
skipAcl:
用于配置zookeeper是否跳過ACL權限檢查,默認為mo,即會對每一個客戶端請求進行權限檢查
zoo.cfg介紹
https://www.cnblogs.com/likui360/p/5985588.html
覺得本文有收獲歡迎關注233醬的公眾號:「碼農知識點」,和我進一步交流~