kafka完整配置项, 请参阅官网: kafka doc
1 broker级配置
通过配置文件server.properties修改
-
zookeeper.connect
, zk连接信息 -
advertised.listeners
, broker监听 -
auto.create.topics.enable
, 允许自动创建topic, 默认值true -
compression.type
, topic数据压缩方式 (gzip, snappy, lz4), 默认值producer, 表示压缩方式与生产者一致 -
delete.topic.enable
, topic删除开关, 默认值false -
log.dirs
, topic日志文件存放路径 -
num.partitions
, topic分区数, 默认1 -
log.retention.bytes
, 日志文件留存大小, 默认-1 -
log.retention.hours
, 日志文件留存小时数, 默认168, 即一周 -
log.segment.bytes
, 单个日志文件最大值, 默认值1G -
message.max.bytes
, broker接收单个消息最大值, 默认1000012, 约1M -
log.cleanup.policy
, 日志清理策略 (delete, compact), 默认delete -
log.retention.check.interval.ms
, cleaner扫描周期, 默认300s -
num.io.threads
, IO读写线程数, 默认值8, 根据磁盘数调整 (8 * 磁盘数), 增大会提高吞吐, 但同时会增加CPU和带宽负荷 -
num.network.threads
, 网络请求 (生产者, 消费者等)处理线程数, 默认值3 -
queued.max.requests
, 网络请求队列长度, 默认500 -
request.timeout.ms
, 请求超时时间, 默认30s
2 topic级配置
通过bin/kafka-configs.sh命令修改
retention.bytes
, topic日志文件最大值, 默认-1retention.ms
, topic日志保留时限, 默认一周
3 Producer配置
bootstrap.servers
, broker集群连接信息key.serializer
topic key序列化方式value.serializer
, topic value序列化方式acks
, 0表示生产者不等消息写入结果, 1表示只等leader写入, all表示一直等待复本写入retries
, 发送消息失败后重试次数, 默认0batch.size
, 批量发送消息大小, 默认16k, 增加批大小, 可以减少请求数linger.ms
, 批请求间隔, 默认0
4 Consumer配置
-
bootstrap.servers
, broker集群连接信息 -
key.deserializer
, topic key反序列化 -
value.deserializer
, topic value反序列化 -
fetch.min.bytes
, 消费数据最小值, 默认1 -
auto.offset.reset
, offset重置策略, 默认latest -
fetch.max.bytes
, fetch请求最大值, 默认50M -
max.poll.records
, poll请求最大消息数, 默认500