温馨提示×

ubuntu kafka网络配置注意啥

小樊
57
2026-01-01 22:31:21
栏目: 智能运维

Ubuntu 上部署 Kafka 的网络配置要点

一 主机网络与端口开放

  • 规划并固定 IP、网关、DNS,避免因 DHCP 导致地址漂移;Ubuntu 20.04+ 优先使用 netplan 配置静态 IP,修改后执行 sudo netplan apply 使配置生效。
  • 放通必要端口:Kafka 默认 9092,Zookeeper 2181;如使用 SSL/外部访问,按需开放更多端口(如 9093/9094)。
  • 防火墙建议:
    • UFW:sudo ufw allow 9092,2181/tcp
    • firewalld:sudo firewall-cmd --add-port=9092/tcp --permanent && sudo firewall-cmd --reload
    • 云上环境同步配置 安全组 入站规则。
  • 基本连通性自检:ping 节点、telnet 目标IP 9092nc -zv 目标IP 9092 验证端口可达。

二 listeners 与 advertised.listeners 的正确配置

  • 核心概念:
    • listeners:Broker 实际监听的 协议://主机:端口(可为 0.0.0.0 监听所有网卡)。
    • advertised.listeners:对外公布的地址,客户端与 Broker 会据此连接;不支持 0.0.0.0,必须填写可路由的 IP 或域名
    • 二者若不一致,常导致 “Broker may not be available”。
  • 常见且稳妥的写法:
    • 单网卡/仅内网:
      • listeners=PLAINTEXT://0.0.0.0:9092
      • advertised.listeners=PLAINTEXT://服务器内网IP:9092
    • 内外网分流(示例):
      • listeners=INTERNAL://内网IP:9091,EXTERNAL://外网IP:9092
      • advertised.listeners=INTERNAL://内网IP:9091,EXTERNAL://外网域名或公网IP:9092
      • listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
      • inter.broker.listener.name=INTERNAL(Broker 之间走内网)
  • 提示:若 listeners 使用 0.0.0.0,则 advertised.listeners 必须显式设置 为可路由地址;自定义监听器需通过 listener.security.protocol.map 声明协议映射。

三 主机名解析与连通性

  • 确保客户端能通过 advertised.listeners 中的主机名或 IP 访问 Broker;内网建议用 内网 IP,跨公网建议用 域名 并在 DNS 或 /etc/hosts 正确解析。
  • 多网卡/多网段环境,避免把仅本机回环地址(如 localhost)发布给外部客户端;否则会出现连接失败或元数据异常。
  • 自检命令:
    • 查看监听:ss -ltnp | grep :9092netstat -anp | grep 9092
    • 外部连通:nc -zv 目标IP 9092;必要时抓包定位(如 tcpdump -i any port 9092)。

四 安全与访问控制

  • 传输加密与认证:按需启用 SSL/TLSSASL(如 SASL_PLAINTEXT/SASL_SSL),并在 listener.security.protocol.map 中正确映射。
  • 监听器隔离:跨机房/内外网场景建议 内外网监听器分流,Broker 间通信走内网监听器(设置 inter.broker.listener.name),提升安全性与性能。
  • 防火墙精细化:仅放通必要来源 IP 与端口,避免对 0.0.0.0/0 全放通;变更前在测试环境验证。

五 性能与网络优化

  • server.properties 适度增大网络缓冲与压缩:
    • socket.send.buffer.bytes / socket.receive.buffer.bytes(提升吞吐)
    • compression.type=snappy/lz4/zstd(降低带宽占用)
  • 基础设施层:优先使用 更高带宽/更低时延 的网络与网卡,减少跨机房链路抖动对复制与消费的影响。
  • 变更流程:先在 非生产环境 验证网络与安全策略,再滚动发布,变更留痕并回滚预案。

0