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"
请根据实际环境和业务需求调整这些参数。