Kafka 在 Debian 上的网络配置注意事项
一 基础网络与主机可达性
sudo netplan apply),旧版本编辑 /etc/network/interfaces 并 sudo systemctl restart networking。验证用 ip addr、ping、ss -tulnp | grep 9092。sudo ufw allow 9092,9093/tcp),生产环境仅允许可信网段。/etc/hostname、/etc/resolv.conf),避免客户端解析错误导致连接失败。二 Broker 关键网络参数
listeners 与 advertised.listeners:前者是 Broker 实际监听的协议/地址/端口,后者是返回给客户端用于连接的地址;多接口或公网访问时尤其关键。示例:
listeners=PLAINTEXT://0.0.0.0:9092,SSL://0.0.0.0:9093advertised.listeners=PLAINTEXT://内网IP:9092,SSL://公网或SLB:9093security.inter.broker.protocol=SSL),避免协商降级。bootstrap.servers 应列出全部 Broker 地址,提升容错。三 系统内核与 TCP 优化
sudo sysctl -w net.ipv4.conf.all.rp_filter=0、sudo sysctl -w net.ipv4.conf.default.rp_filter=0socket.send.buffer.bytes=1048576、socket.receive.buffer.bytes=1048576num.network.threads(默认 3)、num.io.threads(默认 8;可按 ≈2×CPU 核数 设置)。四 安全与访问控制
listeners=SSL://0.0.0.0:9093、security.inter.broker.protocol=SSLssl.keystore.location、ssl.keystore.password、ssl.truststore.location、ssl.truststore.password 并分发给客户端。五 性能、监控与常见排错
compression.type=snappy 或 lz4,在 CPU 与压缩率间权衡)。fetch.min.bytes=1048576、fetch.max.wait.ms=500、max.partition.fetch.bytes=5242880、max.poll.records=500。listeners 是否为 0.0.0.0 或正确的内网 IP。advertised.listeners 是否为客户端可达的 IP/DNS/SLB。netstat -s、RPF、MTU 与缓冲区设置排查。