Ubuntu下Kafka配置技巧
openjdk-11-jdk),通过java -version验证安装。server.0=localhost:2888:3888等配置),确保dataDir(数据目录)和clientPort(2181)正确。KAFKA_HEAP_OPTS设置初始与最大堆内存(如-Xms4G -Xmx4G),避免频繁GC;建议不超过物理内存的70%(防止OOM)。log.segment.bytes(日志段大小,推荐1GB,减少分段索引开销)、log.retention.hours(日志保留时间,如168小时/7天,自动清理过期数据)、message.max.bytes(单条消息最大大小,如1MB,适配业务需求)。num.io.threads:设置为CPU核心数的2倍(如8核则设为16),处理磁盘I/O操作;log.flush.interval.messages:增大批量刷盘阈值(如10000条),减少刷盘次数;log.flush.interval.ms:延长刷盘间隔(如1000ms),平衡数据安全性与性能。ulimit -n 65535,避免连接数耗尽);vm.swappiness=1,减少交换空间使用;vm.max_map_count=262144,支持大量内存映射文件)。listeners设置broker监听地址(如PLAINTEXT://your_server_ip:9092),advertised.listeners设置客户端访问地址(如PLAINTEXT://public_ip:9092),确保外部可访问。num.network.threads设置为3~8(处理网络请求),socket.send.buffer.bytes(发送缓冲区,如100KB)和socket.receive.buffer.bytes(接收缓冲区,如100KB)调整,优化网络传输性能。/lib/systemd/system/zookeeper.service和/lib/systemd/system/kafka.service,内容包含ExecStart(启动命令)、Restart=always(自动重启)等参数;执行systemctl daemon-reload、systemctl enable zookeeper、systemctl enable kafka启用自启。UnderReplicatedPartitions(未同步分区)、RequestQueueTimeMs(请求队列时间)、BytesInPerSec(入站流量))。kafka-producer-perf-test(生产者性能测试)和kafka-consumer-perf-test(消费者性能测试)模拟负载,验证配置效果(如吞吐量、延迟)。