1. 系統環境準備
sudo yum install java-1.8.0-openjdk-devel -y安裝,安裝后用java -version驗證是否成功。zookeeper.properties中的dataDir和clientPort)。2. Kafka配置文件優化(server.properties)
broker.id需設置為集群中唯一的整數(如0、1);listeners指定Broker監聽的協議和地址(如PLAINTEXT://your_server_ip:9092);advertised.listeners需設置為外部客戶端可訪問的地址(如PLAINTEXT://your_public_ip:9092),確??蛻舳四苷_連接。log.dirs指定Kafka日志存儲目錄(如/var/lib/kafka/logs),建議使用獨立分區并掛載為XFS文件系統(開啟noatime選項);zookeeper.connect填寫Zookeeper集群地址(如localhost:2181或zk1:2181,zk2:2181,zk3:2181)。num.partitions設置主題的初始分區數(建議與消費者線程數匹配,如4-8個);default.replication.factor設置副本數(生產環境建議≥3,以提高數據可靠性,但會增加網絡開銷)。3. 操作系統性能調優
/etc/sysctl.conf文件,設置vm.swappiness=1(減少swap使用,避免磁盤IO瓶頸);vm.dirty_background_ratio=10、vm.dirty_ratio=60(控制臟頁刷新時機,平衡磁盤IO與寫入性能);net.core.rmem_default=262144、net.core.wmem_default=262144(調整網絡緩沖區大小,提高網絡吞吐量);net.ipv4.tcp_wmem=4096 16384 4194304、net.ipv4.tcp_rmem=4096 87380 4194304(優化TCP緩沖區,提升網絡傳輸效率);vm.max_map_count=655360(增加內存映射區域數量,支持更多并發連接)。noatime選項(減少文件訪問時間記錄,降低磁盤IO)。4. 資源分配與硬件選擇
-Xmx4G -Xms4G);使用多核CPU(建議≥4核),Kafka的多線程模型能有效利用多核資源。5. 安全配置
security.inter.broker.protocol=SASL_PLAINTEXT、sasl.enabled.mechanisms=PLAIN,并通過kafka_server_jaas.conf文件設置用戶名密碼;生產環境建議啟用SSL/TLS加密(listeners=SASL_SSL://your_server_ip:9092),保護數據傳輸安全。firewall-cmd命令添加規則:sudo firewall-cmd --zone=public --add-port=9092/tcp --permanent、sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent,然后執行sudo firewall-cmd --reload使規則生效。6. 監控與維護
kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec)。log.retention.ms設置日志保留時間,如168h表示保留7天);使用log.cleanup.policy=delete(刪除舊日志)或compact(壓縮日志,適用于變更日志場景)策略,避免磁盤空間耗盡。/etc/systemd/system/kafka.service),配置Kafka和Zookeeper開機自動啟動,確保系統重啟后服務自動恢復。