在CentOS上配置Kafka网络需注意以下要点:
-
配置文件参数
listeners:指定Broker监听的地址和端口,如PLAINTEXT://:9092(默认端口)。advertised.listeners:告知客户端连接的地址和端口,内网需配置内网IP,外网需配置公网IP。- 可选参数:
socket.send/receive.buffer.bytes调整TCP缓冲区大小,提升网络吞吐量。
-
内外网访问控制
- 内网:配置内网IP,仅允许内部客户端访问。
- 外网:配置公网IP,需确保安全组/防火墙放行公网端口(如9092),建议使用加密协议(如SASL_SSL)。
-
防火墙与安全组
- 使用
firewall-cmd开放Kafka端口(默认9092),并重载规则:
sudo firewall-cmd --add-port=9092/tcp --permanent --reload。 - 云服务器需检查安全组规则,确保公网IP和端口可访问。
- 使用
-
网络连通性验证
- 使用
ping测试节点间网络连通性,telnet或nc测试端口可达性。 - 检查Kafka日志(
/var/log/kafka/)排查网络异常。
- 使用
-
性能优化
- 调整内核参数:增大
net.core.rmem_max等缓冲区大小,降低网络延迟。 - 合理设置
num.network.threads(建议CPU核数+1)和num.io.threads(建议CPU核数×2),提升并发处理能力。
- 调整内核参数:增大
-
安全与监控
- 生产环境建议启用SSL加密(如
SSL://协议)和认证机制(如SASL)。 - 使用Kafka自带工具(如
kafka-topics.sh)或第三方监控工具(如Prometheus)实时监控网络延迟、吞吐量等指标。
- 生产环境建议启用SSL加密(如
关键参考: