以下是一些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
。