在CentOS上搭建Kafka集群需注意以下關鍵點:
- 環境準備
- 安裝JDK 8+并配置環境變量。
- 部署Zookeeper集群(Kafka依賴其管理元數據),確保所有節點配置一致。
- 配置文件優化
- 唯一標識:每個Broker的
broker.id需唯一。
- 網絡配置:
listeners:配置監聽協議及地址(如PLAINTEXT://內網IP:9092)。
advertised.listeners:指定客戶端可訪問的地址(內網/外網需區分)。
- 存儲配置:
log.dirs:指定多個磁盤目錄(如/data1/kafka,/data2/kafka)提升IO性能。
log.retention.hours:設置日志保留時間(建議72小時以上)。
- 集群部署要點
- 節點配置:復制Kafka安裝包到各節點,修改
broker.id和網絡參數后同步配置。
- 啟動順序:先啟動Zookeeper集群,再逐個啟動Kafka Broker。
- 安全與權限
- 啟用SSL/TLS加密通信,配置證書路徑。
- 通過SASL認證限制客戶端訪問,設置ACL權限。
- 性能優化
- 分區與副本:根據業務負載設置分區數(建議≥消費者數量),副本數≥2(保障高可用)。
- 資源分配:為Broker分配足夠內存(建議≥8GB),調整JVM堆內存參數。
- 磁盤優化:使用SSD存儲日志,啟用
noatime掛載選項減少IO開銷。
- 監控與維護
- 使用Kafka自帶命令(如
kafka-topics.sh)監控主題狀態,或集成Prometheus+Grafana。
- 定期清理日志文件,避免磁盤占滿。
- 版本與兼容性
參考資料: