目錄
1、kafka參數
1.1 、消費者消息批次發送
1.2 、消息大小的配置(環環相扣的消息大小,調整時需要一起調整)
1.3 、消息重試發送冪等
1.4、消息提交
1.5、分區分配策略(自己看的設置)
1.6、文件存儲
2、kafka命令
2.1 常用命令一覽
2.2 具體命令通過 --help 可以自己看一下哈
我把想到的kafka用到的配置以及命令做一個簡單的梳理,如果有寫的不對的地方,和缺失的地方還望大家多多指正。
1、kafka參數
1.1 、消費者消息批次發送
消費者消息批次發送,需要調整的話需要進行壓測,選擇適合自己的配置(需要考慮消息大小,網絡帶寬等問題)
buffer.memory? ? ? =? ?32MB? ?// kafka producer能夠使用的內存緩沖的大小
batch.size? ? ? ? ? ? ?=? 16KB? ? // producerBatch 消息批次的大小
ling.ms? ? ? ? ? ? ? ? ? =? 0? ? ? ? ? // 發送等待時間
max.request.size? = 1MB? ? ?// 生產者能夠發送的單條消息的最大的值
1.2 、消息大小的配置(環環相扣的消息大小,調整時需要一起調整)
注意的規則:
replica.fetch.max.bytes? ? ?≥? ? message.max.bytes? ? ?≥? ? max.message.bytes
batch.size? < max.request.size? ? ? ?≤? ? message.max.bytes??≤ fetch.max.bytes
分區數 × max.partition.fetch.bytes ≤ fetch.max.bytes
max.request.size? ? ? ? ? ? // 生產者端:生產者能夠發送的單條消息的最大的值(默認1MB)
message.max.bytes? ? ? ?// broker端: 單條消息最大尺寸控制閥值(默認1MB)
max.message.bytes? ? ? ?// broker端:? ??Topic該參數跟 message.max.bytes 參數的作用是一樣的,只不過 max.message.bytes 是作用于某個 topic,而 message.max.bytes 是作用于全局
replica.fetch.max.bytes? ?//broker端:副本同步約束
fetch.max.bytes? ? ? ? ? ? ? // 消費者端:單次請求最大數據量(默認50MB)
max.partition.fetch.bytes//消費者端:單分區最大獲取量(1MB)
compression.type? ? ? ? ? ?//snappy,gzip,lz4 (消息過大,注意壓縮)
1.3 、消息重試發送冪等
注意:
retry.backoff.ms 可以設置:500ms,kafka中topic分區的副本首領選舉的整個過程是500ms以內完成的(保持和副本首領選舉的時間)
消息大小超過了request.max.size 或者超過了message.max.bytes 類似這樣的錯誤,kafka是不會選擇重試的,因為這種錯誤是無法通過重試而成功的
retry.backoff.ms? ? ? ? ? ? ?//重試間隔時間
retries? ? ? ? ? ? ? ? ? ? ? ? ? ? //重試次數
enable.idempotence? ? ?//消息發送冪等
max.in.flight.requests.per.connection = 1? // 設置為一可以保證單partition的順序(其他無法保證)
acks? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 0,1,all
1.4、消息提交
enable.auto.commit //設置為true 自動提交,建議手動
auto.commint.interver //多長時間提交一次 默認5S
1.5、分區分配策略(自己看的設置)
partition.assignment.strategy? ? //可以選擇?StickyAssignor
1.6、文件存儲
log.segment.bytes //默認1GB? log文件切割大小
log.roll.hours? ? ? ? ?// 日志時間戳和當前log文件記錄時間的差值
log.index.size.max.bytes? ?//日志索引最大值 默認 10MB
log.index.interval.bytes? ? ?// 索引文件密度? 默認4KB
就想到這么,后續想到在補充
2、kafka命令
2.1 常用命令一覽
1、kafka-acls.sh #配置,查看kafka集群鑒權信息
2、kafka-configs.sh #查看,修改kafka配置
3、kafka-console-consumer.sh #消費命令
4、kafka-console-producer.sh #生產命令
5、kafka-consumer-groups.sh #查看消費者組,重置消費位點等
6、kafka-consumer-perf-test.sh #kafka自帶消費性能測試命令
7、kafka-mirror-maker.sh #kafka集群間同步命令
8、kafka-preferred-replica-election.sh #重新選舉topic分區leader
9、kafka-producer-perf-test.sh #kafka自帶生產性能測試命令
10、kafka-reassign-partitions.sh #kafka數據重平衡命令
11、kafka-run-class.sh #kafka執行腳本
12、kafka-server-start.sh #進程啟動
13、kafka-server-stop.sh #進程停止
14、kafka-topics.sh #查詢topic狀態,新建,刪除,擴容