以下是一些CentOS下Kafka配置參數的選擇建議:
broker.id
:每個broker唯一標識,可設為0、1等整數。listeners
和advertised.listeners
:設為PLAINTEXT://服務器IP或主機名:端口
,如PLAINTEXT://192.168.1.100:9092
。log.dirs
:指定多個日志存儲目錄,如/data/kafka/logs1,/data/kafka/logs2
,提高并行讀寫。num.partitions
:一般設置為消費者線程數或CPU核數的整數倍,提高并行處理能力。default.replication.factor
:通常設為3,保證數據可靠性。min.insync.replicas
:設置為2,確保消息寫入的可靠性。kafka-server-start.sh
中設置KAFKA_HEAP_OPTS
,如-Xms8G -Xmx8G -XX:UseG1GC
。bootstrap.servers
:設置為Kafka集群地址,如localhost:9092
。key.serializer
和value.serializer
:常用org.apache.kafka.common.serialization.StringSerializer
。acks
:根據可靠性需求選擇,1
為默認,all
最可靠但性能低。batch.size
:增大可提高吞吐量,如設為16384
或更大。linger.ms
:適當增大可提高批量發送效率,如設為10
。compression.type
:可選用snappy
、lz4
等壓縮算法。bootstrap.servers
:同生產者。key.deserializer
和value.deserializer
:對應生產者的序列化器。fetch.min.bytes
:增大可減少網絡交互,如設為1024
。fetch.max.wait.ms
:與fetch.min.bytes
配合,設為500
。max.poll.records
:根據處理能力設置,如500
。