要在 CentOS 上配置 Kafka 以通过防火墙,您需要确保 Kafka 使用的端口在防火墙中是开放的。Kafka 默认使用以下端口:
以下是通过 CentOS 防火墙开放这些端口的步骤:
firewall-cmd 开放端口检查防火墙状态:
首先,确认您的 CentOS 系统上是否启用了 firewalld 服务。
sudo systemctl status firewalld
如果服务未运行,可以使用以下命令启动它:
sudo systemctl start firewalld
开放端口:
使用 firewall-cmd 命令添加规则以开放 Kafka 所需的端口。
开放 9092 端口:
sudo firewall-cmd --permanent --zone=public --add-port=9092/tcp
开放 9093 端口(如果使用 SSL):
sudo firewall-cmd --permanent --zone=public --add-port=9093/tcp
重新加载防火墙配置: 使更改生效,您需要重新加载防火墙配置。
sudo firewall-cmd --reload
验证端口是否开放: 使用以下命令检查端口是否已成功开放:
sudo firewall-cmd --list-all
在输出中查找 9092/tcp 和 9093/tcp,确保它们显示为已添加。
iptables 开放端口如果您使用的是 iptables 而不是 firewalld,可以使用以下命令:
开放 9092 端口:
sudo iptables -A INPUT -p tcp --dport 9092 -j ACCEPT
开放 9093 端口(如果使用 SSL):
sudo iptables -A INPUT -p tcp --dport 9093 -j ACCEPT
保存 iptables 规则:
CentOS 7 及以上版本通常使用 firewalld,但如果您使用的是较旧的版本,可能需要保存 iptables 规则:
sudo service iptables save
完成这些步骤后,Kafka 应该能够通过 CentOS 防火墙进行通信。确保在配置 Kafka 服务器和客户端时使用正确的地址和端口。