在 Ubuntu 上配置 Kafka 的关键注意事项
一 基础环境与版本
java -version 确认版本;Kafka 是基于 JVM 的服务,版本不匹配会导致启动或运行异常。二 配置要点与网络
broker.id:每个 Broker 必须唯一(集群内不可重复)。listeners 与 advertised.listeners:明确监听地址与对外可达地址,避免内外网访问错配。log.dirs:指定有写权限且磁盘充足的目录,避免使用易清理的临时目录。zookeeper.connect:指向 Zookeeper 地址(单机为 localhost:2181,集群为逗号分隔的多个地址)。log.dirs 具备读写权限;避免使用 root 直接运行,建议创建专用系统用户。三 运行与自启
test,分区 1、副本 1),用控制台生产者/消费者验证收发是否正常。After=、Requires=、User=、ExecStart/ExecStop、Restart=,执行 systemctl daemon-reload && systemctl enable --now zookeeper kafka 完成开机自启与统一管理。四 性能与安全
KAFKA_HEAP_OPTS 或脚本内设置堆大小(如 -Xms4G -Xmx4G),避免过大挤占系统资源或过小导致频繁 GC;根据负载与物理内存调优。replication.factor(常用 3)、min.insync.replicas(建议 2)、unclean.leader.election.enable=false,降低数据丢失与不可用窗口。log.retention.hours、log.segment.bytes,并监控磁盘使用,防止因日志膨胀导致磁盘被占满。batch.size、linger.ms、compression.type),提升吞吐与降低网络成本。五 常见问题排查
lsof -i:9092 或 ss -lntp | grep 9092 定位占用进程并释放端口。log.dirs 无写权限或路径不存在会导致启动失败,修正权限或更换目录。KAFKA_HEAP_OPTS,并确保系统留有足够可用内存与 swap。server.properties 中 listeners、advertised.listeners、zookeeper.connect 等关键项是否拼写、格式正确。