Kafka的內存配置主要涉及以下幾個方面:
Kafka的Broker內存配置主要包括以下幾個參數:
log.dirs
num.partitions
default.replication.factor
min.insync.replicas
default.replication.factor
的值。log.retention.hours
log.segment.bytes
log.retention.check.interval.ms
log.flush.interval.messages
log.flush.interval.ms
num.network.threads
num.io.threads
socket.send.buffer.bytes
socket.receive.buffer.bytes
group.initial.rebalance.delay.ms
Kafka Broker運行在JVM上,因此需要合理配置JVM內存參數:
-Xms
和 -Xmx
-Xms4g -Xmx4g
。-XX:MetaspaceSize
和 -XX:MaxMetaspaceSize
-XX:+UseG1GC
-XX:MaxGCPauseMillis
-XX:MaxGCPauseMillis=200
。# Broker ID
broker.id=0
# Log directories
log.dirs=/tmp/kafka-logs
# Default number of partitions per topic
default.replication.factor=3
# Minimum number of in-sync replicas
min.insync.replicas=2
# Log retention policy
log.retention.hours=168
# Log segment size
log.segment.bytes=1073741824
# Log flush interval
log.flush.interval.messages=10000
log.flush.interval.ms=1000
# Network threads
num.network.threads=3
# I/O threads
num.io.threads=8
# Socket buffer sizes
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
# JVM options
JVM_OPTS="-Xms4g -Xmx4g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200"
請根據實際環境和業務需求調整這些參數。