在Ubuntu下配置Kafka網絡時,有幾個關鍵的技巧和步驟需要注意,以確保Kafka集群的高效運行和安全性。以下是一些詳細的配置技巧:
內網配置:
listeners
屬性以允許所有客戶端通過TCP協議在9092端口上連接到Kafka。advertised.listeners
屬性,以便外部客戶端能夠訪問Kafka。例如,配置為 advertised.listenersPLAINTEXT://內網IP地址:9092
。外網配置:
listenersPLAINTEXT://:9092
和 advertised.listenersPLAINTEXT://外網IP地址:9092
。內外網分離配置:
listenersPLAINTEXT://:9092
和 advertised.listenersPLAINTEXT://內網IP地址:9092
,外網使用 listenersSASL_SSL://:9093
和 advertised.listenersSASL_SSL://外網IP地址:9093
。防火墻和安全組規則配置:
broker.id
:每個Kafka broker在集群中的唯一標識。listeners
:Kafka監聽的地址和端口。advertised.listeners
:Kafka對外提供的地址和端口。log.dirs
:Kafka消息存放的目錄。zookeeper.connect
:Zookeeper集群地址。sudo iptables -A INPUT -p tcp --dport 9092 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 2181 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 9094 -j ACCEPT
sudo iptables-save
sudo tee /etc/iptables/rules.v4
sudo firewall-cmd --add-port 9092/tcp --permanent
sudo firewall-cmd --add-port 2181/tcp --permanent
sudo firewall-cmd --add-port 9094/tcp --permanent
sudo firewall-cmd --reload
advertised.listeners
時,確保該值對外部客戶端是可見的,以便它們可以正確地連接到Kafka。通過以上步驟和注意事項,您可以有效地配置Kafka的網絡,確保集群內部和外部的通信都能順利進行。