Kafka核心配置文件为server.properties,以下是关键配置项解读与修改要点:
Broker基础标识
broker.id:集群中Broker的唯一ID,需为正整数,修改后需重启服务。listeners:监听协议、主机及端口,如PLAINTEXT://0.0.0.0:9092,支持多协议(如SSL)。advertised.listeners:对外暴露的监听地址,用于客户端连接,需与网络环境匹配。存储与日志管理
log.dirs:日志存储目录,建议配置多个路径(逗号分隔)以提升性能和容灾能力。log.retention.hours:日志保留时间(小时),超时自动删除,生产环境建议设置为7天以上。log.segment.bytes:单个日志段文件大小(默认1GB),影响日志滚动频率。性能与可靠性
num.partitions:Topic默认分区数,建议与消费者线程数匹配,提升并行处理能力。default.replication.factor:Topic默认副本数,生产环境建议≥3,确保数据冗余。min.insync.replicas:消息同步副本数,建议设置为2,避免数据丢失。网络与线程优化
num.network.threads:处理网络请求的线程数,建议设置为CPU核数。num.io.threads:处理磁盘IO的线程数,建议设置为CPU核数的50%~100%。修改配置文件
kafka安装目录/config/server.properties。vi或nano修改,如sudo nano /etc/kafka/server.properties。# 修改监听地址为0.0.0.0
listeners=PLAINTEXT://0.0.0.0:9092
# 增加分区数
num.partitions=3
# 设置副本因子为3
default.replication.factor=3
重启服务生效
sudo systemctl restart kafka 或 sudo ./bin/kafka-server-start.sh ../config/server.properties。验证配置
# 创建Topic验证配置
kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3 --topic test
# 查看Topic详情
kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic test
log.retention.ms)支持动态修改,无需重启,可通过kafka-configs.sh脚本调整。ssl.keystore.location等参数。通过合理配置上述参数,可优化Kafka的性能、可靠性和可用性,满足不同业务场景需求。