Kafka server部署配置優化

2021-08-28 23:38:27 字數 2049 閱讀 1855

kafka配置優化其實都是修改server.properties檔案中引數值

1、網路和io操作執行緒配置優化

# broker處理訊息的最大執行緒數

num.network.threads=***

#  broker處理磁碟io的執行緒數

num.io.threads=***

建議配置:

一般num.network.threads主要處理網路io,讀寫緩衝區資料,基本沒有io等待,配置執行緒數量為cpu核數加1.

num.io.threads主要進行磁碟io操作,高峰期可能有些io等待,因此配置需要大些。配置執行緒數量為cpu核數2倍,最大不超過3倍.

2、log資料檔案刷盤策略

為了大幅度提高producer寫入吞吐量,需要定期批量寫檔案。

建議配置:

# 每當producer寫入10000條訊息時,刷資料到磁碟

log.flush.interval.messages=10000

# 每間隔1秒鐘時間,刷資料到磁碟

log.flush.interval.ms=1000

3、日誌保留策略配置

當kafka server的被寫入海量訊息後,會生成很多資料檔案,且占用大量磁碟空間,如果不及時清理,可能磁碟空間不夠用,kafka預設是保留7天。

建議配置:

# 保留三天,也可以更短

log.retention.hours=72

# 段檔案配置1gb,有利於快速**磁碟空間,重啟kafka載入也會加快(如果檔案過小,則檔案數量比較多,

# kafka啟動時是單執行緒掃瞄目錄(log.dir)下所有資料檔案)

log.segment.bytes=1073741824

4、replica複製配置

每個follow從leader拉取訊息進行同步資料,follow同步效能由這幾個引數決定,分別為拉取執行緒數(num.replica.fetchers)、最小位元組數(replica.fetch.min.bytes)、最大位元組數(replica.fetch.max.bytes)、最大等待時間(replica.fetch.wait.max.ms)

建議配置:

num.replica.fetchers 配置多可以提高follower的i/o併發度,單位時間內leader持有跟多請求,相應負載會增大,需要根據機器硬體資源做權衡

replica.fetch.min.bytes=1  預設配置為1位元組,否則讀取訊息不及時

replica.fetch.max.bytes= 5  * 1024 * 1024 預設為1mb,這個值太小,5mb為宜,根據業務情況調整

replica.fetch.wait.max.ms  follow拉取頻率,頻率過高,會導致cpu飆公升,因為leader無資料同步,leader會積壓大量無效請求情況,又因為0.8.2.x版本存在bug,定時器超時檢查比較消耗cpu,使用者需要做好權衡

5、配置jmx服務

kafka server中預設是不啟動jmx埠的,需要使用者自己配置

[lizhitao@root kafka_2.10-0.8.1]$ vim bin/kafka-run-class.sh

#最前面新增一行

jmx_port=8060

kafka server部署配置優化

1.kafka高效能的特點及條件 kafka是乙個高吞吐量分布式訊息系統,並且提供了持久化。其高效能的有兩個重要特點 1 利用了磁碟連續讀寫效能遠遠高於隨機讀寫的特點 2 併發,將乙個topic拆分多個partition。要充分發揮kafka的效能,就需要滿足這兩個條件。linkedin的測試,就把...

kafka server部署配置優化

具體請參考 apache kafka中server.properties配置檔案引數說明 配置優化都是修改server.properties檔案中引數值 1.網路和io操作執行緒配置優化 broker處理訊息的最大執行緒數 num.network.threads broker處理磁碟io的執行緒數 ...

Ice 配置部署

ice提供了靈活的配置部署方案,但為了減輕運維人員的工作量,開發的時候統一約定了一種規則,以便能夠簡易安裝部署,所以總結了一套配置的規則。1.1 目錄結構 1.2 icegridregistry配置與執行 根據高可用的方案,啟動兩個registry,乙個作為master,另乙個作為replica。1...