一、核心網絡參數配置
協議://IP:端口,常見配置包括:
listeners=PLAINTEXT://0.0.0.0:9092(開發測試常用,生產環境需限制IP);listeners=PLAINTEXT://內網IP:9092(僅允許內網訪問)。advertised.listeners=PLAINTEXT://內網IP:9092;advertised.listeners=PLAINTEXT://公網IP:9092。listener.security.protocol.map=PLAINTEXT:PLAINTEXT;listener.security.protocol.map=SSL:SSL,SASL_SSL:SASL_SSL;listener.security.protocol.map=SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL。listeners中的協議一一對應,生產環境建議啟用SSL/SASL。listeners中定義,例如:inter.broker.listener.name=INTERNAL_PLAINTEXT,并在listener.security.protocol.map中配置對應安全機制。該參數隔離了內部與外部流量,提升集群安全性。二、網絡性能優化配置
socket.send.buffer.bytes=1048576。socket.receive.buffer.bytes=1048576。socket.request.max.bytes=104857600,避免請求被拒絕。三、安全配置要點
SSL://)或SASL認證(SASL_PLAINTEXT:///SASL_SSL://)。例如:listeners=SSL://0.0.0.0:9093,并配置listener.security.protocol.map=SSL:SSL。四、防火墻與系統配置
firewalld開放Kafka端口(默認9092),命令如下:sudo firewall-cmd --zone=public --add-port=9092/tcp --permanent
sudo firewall-cmd --reload
若使用SELinux,需設置為寬松模式(setenforce 0)或配置SELinux策略允許Kafka網絡訪問。/etc/sysctl.conf后執行sysctl -p):
vm.swappiness=1;vm.dirty_background_ratio=10、vm.dirty_ratio=20;vm.max_map_count=262144;net.core.rmem_default=262144、net.core.wmem_default=262144、net.ipv4.tcp_wmem=4096 16384 4194304、net.ipv4.tcp_rmem=4096 87380 4194304。五、其他注意事項
listeners中的IP或主機名可被客戶端解析(如通過DNS或/etc/hosts文件),避免連接失敗。log.dirs指定的目錄(如/tmp/kafka-logs)需有Kafka進程的寫權限,避免啟動失敗。zookeeper.connect需配置為可訪問的Zookeeper地址(如localhost:2181或zk1:2181,zk2:2181,zk3:2181),確保Kafka與Zookeeper集群通信正常。