kafka調優


kafka調優:
[root@bi-kafka-1 bin]# pwd
/data/kafka-9092/bin
cat kafka-server-start.sh
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
export JMX_PORT="9998"
fi
#調整heap,推薦6G,可改為
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
  #默認的KAFKA的HEAP內存為1G,在實際生產環境中顯然是不夠的,在《kafka權威指南》書中說是配置5G,在《Apache Kafka實戰》書中說配置6G,其實差距並不是很大,我們這里暫且配置6G吧,當時書中的知識是死的,如果Kafka配置了6G的Heap內存嚴重發現Full GC的話,到時候我們應該學會變通,將其在擴大,但在實際生產環境中,我就是這樣配置的。注意力,這樣配置如果你的虛擬機可用內存如果不足6G可能會直接拋出OOM異常喲~
#export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
export KAFKA_HEAP_OPTS="-Xmx6g -Xms6g -XX:MetaspaceSize=96m -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80"
fi
#從這行命令不難看出,該腳本會調用kafka-run-class.sh,如果我們在該配置文件中配置HEAP內存,就不要在Kafka-run-class.sh腳本里再去配置了喲,否則當前腳本配置的HEAP將無效!

 

 

日志設置調優:

[root@bi-kafka-1 config]# pwd
/data/kafka-9092/config
cat producer.properties

#處理磁盤I/O的線程數,從3改為30
num.io.threads=30

log存放地址:
log.dirs=/data/kafka-9092/logs/kafka-logs
#每個topic的分區個數,若是在topic創建時候沒有指定的話會被topic創建時的指定參數覆蓋
num.partitions=16
# 日志保存時間 (hours|minutes),默認為7天(168小時)。超過這個時間會根據policy處理數據。bytes和minutes無論哪個先達到都會觸發。
log.retention.hours=168
#日志數據存儲的最大字節數。超過這個時間會根據policy處理數據。
#log.retention.bytes=1073741824

# 日志片段文件的檢查周期,查看它們是否達到了刪除策略的設置(log.retention.hours或log.retention.bytes)
log.retention.check.interval.ms=600000

#控制日志segment文件的大小,超出該大小則追加到一個新的日志segment文件中(-1表示沒有限制)
log.segment.bytes=536870912


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM