以下是Linux Kafka配置中关键参数,分服务端和客户端两类说明:
broker.id
listeners/advertised.listeners
listeners:Broker监听的地址和端口(如PLAINTEXT://0.0.0.0:9092)。advertised.listeners:客户端实际连接地址,需配置为可访问的IP和端口,支持多协议(如SSL、SASL)。log.dirs
num.network.threads/num.io.threads
num.network.threads:处理网络请求的线程数,建议设置为CPU核心数。num.io.threads:处理磁盘I/O的线程数,建议设置为CPU核心数×2。log.retention.hours/log.retention.bytes
log.retention.hours默认168小时(7天),log.retention.bytes可限制单个分区日志大小。default.replication.factor
zookeeper.connect
bootstrap.servers
acks
0(不等待确认,吞吐量高但可能丢消息)、1(仅Leader确认)、all(所有副本确认,最可靠)。batch.size/linger.ms
batch.size:批次大小(字节),默认16KB,增大可提升吞吐量。linger.ms:等待批次填满的时间(毫秒),默认0,增大可减少请求频率。retries/enable.idempotence
retries:失败重试次数,默认0,建议设置为>0并配合enable.idempotence=true避免重复消息。enable.idempotence:是否启用幂等性,确保消息不重复(需配合acks=all)。bootstrap.servers
group.id
auto.offset.reset
earliest(从最早消息开始)、latest(从最新消息开始)。fetch.min.bytes/fetch.max.wait.ms
fetch.min.bytes:单次拉取的最小字节数,默认1,增大可减少请求频率。fetch.max.wait.ms:等待满足fetch.min.bytes的最长时间,默认500ms。num.partitions:Topic默认分区数,影响并行度,建议设置为集群节点数的倍数。offsets.topic.replication.factor:消费者偏移量Topic的副本数,集群环境建议设置为节点数。log.segment.bytes:单个日志段文件大小,默认1GB,影响日志滚动频率。以上参数直接影响Kafka的性能、可靠性和可用性,生产环境中需根据业务需求调整[1,2,3,4,5,6,7,8,9,10,11]。