zookeeper.connect  zookeper所在机器可多个逗号分隔

auto.create.topics.enable 自动创建topic

auto.leader.rebalance.enable leader  当一个broker恢复,这个broker只会存储复本,这意味着它不会参与任何读写,造成了集群的不平衡,开启,kafka自动做balance

background.threads 后端处理任务线程

broker.id id号,唯一 

compression.type 压缩类型:gzip', 'snappy', lz4,可以选择保持原始字符

delete.topic.enable 可删除topic

leader.imbalance.check.interval.seconds 定期检查leader是否平衡

leader.imbalance.per.broker.percentage 每个broker上的leader不平衡阀值,超过controller执行再balance

listeners kafka 逗号分隔不同的uri,支持不同的协议,如plaintext://ip:port,ssl://ip:port

log.dir/log.dirs kafka存储地址,log.dirs可能可多个地址,没配过

log.flush.interval.messages partiton message最大积累数,然后flush to disk

log.flush.interval.ms flush to disk之前保留在内存中的时间,如果没有设置使用log.flush.scheduler.interval.ms

log.flush.offset.checkpoint.interval.ms 当replica从leader复制数据时,需要将offset同步到磁盘,方便恢复,该值设置同步到磁盘的间隔

log.flush.scheduler.interval.ms 定时检查是否需要同步到disk

log.retention.bytes 删除之前log最大允许的大小,超过即删除

log.retention.hours/log.retention.minute/log.retention.ms 按时,分,秒来管理log保留的时间

log.roll.hours/log.roll.ms设置多长间滚动出新文件

log.segment.bytes 单个文件的最大值

log.segment.delete.delay.ms 删除一个文件延时时长

message.max.bytes server能接受最大message

min.insync.replicas 确认复制成功最小数量,即ISR中的replica的成功数量,性能考虑,需要required.acks=-1

num.io.threads 接收io请求的线程数量

num.network.threads 接收网络请求的thread数量

num.recovery.threads.per.data.dir   用于处理数据恢复或flush to disk 的线程数量(每一个目录)

num.replica.fetchers 用于复制的线程数

offset.metadata.max.bytes 允许客户端保存offset的最大值

offsets.commit.required.acks offset commit接受之前需要保证的应答数,一般不需要修改

offsets.commit.timeout.ms offset commit时将等待所有replica确认或者这个时间到达

offsets.load.buffer.size 读取offset到buffer的批量大小

offsets.retention.check.interval.ms 检查旧offset的频率

offsets.retention.minutes 保存offset的最长时间,超过将删除offset

offsets.topic.compression.codec 保存offset 的topic compression类型

offsets.topic.num.partitions 保存offset 的topic partition数量

offsets.topic.replication.factor 保存offset 的topic replication值

offsets.topic.segment.bytes 保存offset 的topic 的文件大小,应该尽量小些为了快速的加载或者精简

queued.max.requests  等待处理的请求最大值,如果超过该值kafka将停止接受新的请求

quota.consumer.default consumer端每秒可以抓取的最大byte ,以clientid或consumer group区分

quota.producer.default producer端每秒可以产生的最大byte 

replica.fetch.max.bytes replica时最大可以抓取的值

replica.fetch.min.bytes replica时最小抓取的值,如果没有到达该值等待直到replicaMaxWaitTimeMs

replica.fetch.wait.max.ms 没个抓取replica的最大等待时间

replica.lag.time.max.ms 如果follow超过该值没有与leader通信(抓取数据),将它从ISR中移除

replica.socket.receive.buffer.bytes 复制过程leader接受请求的buffer大小

replica.socket.timeout.ms 复制时socket超时间,至少等于replica.fetch.wait.max.ms

request.timeout.ms producer等待响应的最长时间,如果超时将重发几次,最终报错。

socket.receive.buffer.bytes socket接收buffer大小

socket.request.max.bytes socket最大接收大小

socket.send.buffer.bytes socket发送缓冲大小

unclean.leader.election.enable 选择leader是否可以在isr中

zookeeper.connection.timeout.ms 连接zk超时

zookeeper.session.timeout.ms zk session超时

zookeeper.set.acl client是否用安全的ACL

broker.id.generation.enable 是否自动创建broker id,需要设置reserved.broker.max.id

connections.max.idle.ms connection最大空闲时间,超过将关闭connection

controlled.shutdown.enable 是否能控制shutdown server

controlled.shutdown.max.retries shutdown不成功重试次数

controlled.shutdown.retry.backoff.ms 尝试关闭的时间间隔

controller.socket.timeout.ms controller 到broker的超时时间

default.replication.factor 默认replication大小

fetch.purgatory.purge.interval.requests
非立即答复请求放入purgatory中,当到达或超出interval时认为request complete
group.max.session.timeout.ms
consumer group最大超时时间


group.min.session.timeout.ms
consumer group最小超时时间

inter.broker.protocol.version
broker protocol版本


log.cleaner.dedupe.buffer.size


所有线程应用去除重复数据的内存大小


log.cleaner.delete.retention.ms


删除保留数据的时间(精简模式)


log.cleaner.enable


开启精简


log.cleaner.io.buffer.load.factor


日志清理中hash表的扩大因子,一般不需要修改。


log.cleaner.io.buffer.size


精简时所有线程的io buffer大小


log.cleaner.io.max.bytes.per.second


精简时最大的io数量


log.cleaner.min.cleanable.ratio


发生精简的脏数据占用比率


log.cleaner.threads
精简线程数


log.cleanup.policy


清除策略


log.preallocate


是否预创建新文件,windows推荐使用


log.retention.check.interval.ms


检查文件是否需要删除间隔


max.connections.per.ip


每个ip最大连接数


max.connections.per.ip.overrides


ip或hostname最大连接重写


num.partitions


默认topic partition数量


producer.purgatory.purge.interval.requests


producer请求清除时间


replica.fetch.backoff.ms


复制数据时失败等待时间


reserved.broker.max.id


broker id最大值




metric.reporters


指标list


metrics.num.samples


指标采样数量


metrics.sample.window.ms


采样时间窗口


recoonect.backoff.ms


重连间隔








log.cleaner.backoff.ms


检查log是否需要clean的时间间隔


安全部分没写后补上,更详细信息可参考 kafka.server.KafkaConfig

增加

replica.high.watermark.checkpoint.interval.ms

检查高水位固化到磁盘的频率


每个副本存储在本地日志中,并在日志中保持一些重要的偏移位置。日志结束偏移(LEO)代表日志的尾部。高水位线(HW)是上次提交消息的偏移量。每个日志定期同步到磁盘。在刷新偏移量的数据保证将持续在磁盘上




Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐