zookeeper.connect |
zk地址 |
string |
|
|
高 |
advertised.host.name |
过时的:只有当advertised.listeners或listeners没有配置的时候才会生效。使用advertised.listeners代替。发布在zk上的hostname,供客户端使用。在IaaS环境下,该值需要与broker绑定的接口不一样。如果该值没有配置,会使用配置的host.name。否则会使用java.net.InetAddress.getCanonicalHostName()返回的数据。 |
string |
null |
|
高 |
advertised.listeners |
发布在zk上的监听器,供客户端使用,如果与其他的监听器不一样的话。在Iaas环境下,该值需要与broker绑定的接口不一致。如果没有配置,会使用listener的值。 |
string |
null |
|
高 |
advertised.port |
过时的:只有当advertised.listeners或listeners没有配置时会生效。可以使用advertised.listeners代替。发布在zk上的端口,供客户端使用。在Iaas环境下,需要与broker绑定的接口不一样。如果未配置,会发布与broker绑定的一样的接口。 |
int |
null |
|
高 |
auto.create.topics.enable |
允许在服务器上自动创建主题(topic) |
boolean |
true |
|
高 |
auto.leader.rebalance.enable |
允许自动主平衡。后台线程定时校验和触发主平衡。 |
boolean |
true |
|
高 |
background.threads |
后台处理任务的线程数 |
int |
10 |
[1...] |
高 |
broker.id |
服务器的broker编号。如果不配置,会自动生成唯一的id。为了避免zk生成的broker编码和用户配置编码的冲突,生成的broker编码从reserved.broker.max.id + 1开始。 |
int |
-1 |
|
高 |
compression.type |
指定一个主题最后的压缩类型。这个配置项接收标准的压缩编码(gzip,snappy,lz4)。还可以配置为uncompressed,表示不压缩。也可以配置为producer,表示与生产者配置的压缩类型一致。 |
string |
producer |
|
高 |
delete.topic.enable |
可以删除主题。如果设置为关闭,那么通过管理工具删除主题是无效的。 |
boolean |
false |
|
高 |
host.name |
过时的:只有当listeners没有配置时才会生效。使用listeners来代替。broker的主机名称。如果配置该项,broker只会绑定到这个地址,如果不配置,会绑定所有接口。 |
string |
"" |
|
高 |
leader.imbalance.check.interval.seconds |
控制器触发分区调整校验的频率。 |
long |
300 |
|
高 |
leader.imbalance.per.broker.percentage |
每个broker允许的不平衡的leader的比率。如果每个broker超过了这个值,控制器会触发leader的平衡。这个值表示百分比。 |
int |
10 |
|
高 |
listeners |
监听器列表-逗号隔开,包含协议和链接。如果想绑定到所有的接口,需要把主机名设置为0.0.0.0。如果要绑定到特定的接口,主机名为空。示例:PLAINTEXT://myhost:9092,TRACE://:9091或者PLAINTEXT://0.0.0.0:9092, TRACE://localhost:9093 |
string |
null |
|
高 |
log.dir |
日志数据存储的目录(log.dirs属性的补充) |
string |
/tmp/kafka-logs |
|
高 |
log.dirs |
日志文件存储的目录,如果不配置,则使用log.dir。 |
string |
null |
|
高 |
log.flush.interval.messages |
在消息刷到磁盘之前,日志分区收集的消息数量 |
long |
9223372036854775807 |
|
高 |
log.flush.interval.ms |
主题中消息在刷到磁盘之前,保存在内存中的最长时间,单位是ms,如果不配置,使用log.flush.scheduler.interval.ms的配置 |
long |
null |
|
高 |
log.flush.offset.checkpoint.interval.ms |
更新上次刷磁盘的记录的频率,可以作为日志恢复点 |
int |
60000 |
[0...] |
高 |
log.flush.scheduler.interval.ms |
单位为毫秒,日志刷新器检查日志是否需要刷到磁盘的频率 |
long |
9223372036854775807 |
|
高 |
log.retention.bytes |
日志被删除前最大量 |
long |
-1 |
|
高 |
log.retention.hours |
日志保留的最大小时数,log.retention.ms的第三位 |
int |
168 |
|
高 |
log.retention.minutes |
日志文件保留的分钟数,log.retention.ms的第二位,如果不配,使用log.retention.hours |
int |
null |
|
高 |
log.retention.ms |
日志文件保留的毫秒数,如果不配,使用log.retention.minutes |
long |
null |
|
高 |
log.roll.hours |
即使文件没有到达log.segment.bytes,只要文件创建时间到达此属性,就会创建新文件。 |
int |
168 |
[1...] |
高 |
log.roll.jitter.hours |
指定日志切分段的小时数,避免日志切分时造成惊群 |
int |
0 |
[0...] |
高 |
log.roll.jitter.ms |
指定日志切分段的毫秒数,如果不设置,默认使用log.roll.jitter.hours |
long |
null |
|
高 |
log.roll.ms |
数据文件切分的时间间隔,与大小限制同时起作用的 |
long |
null |
|
高 |
log.segment.bytes |
数据文件大小 |
int |
1073741824 |
[14...] |
高 |
log.segment.delete.delay.ms |
保存已删除日志的时间 |
long |
60000 |
[0...] |
高 |
message.max.bytes |
表示log中能够容纳消息的最大字节数 |
int |
1000012 |
[0,...] |
高 |
min.insync.replicas |
该属性规定了最小的ISR数 |
int |
1 |
[1,...] |
高 |
num.io.threads |
执行磁盘IO的线程数 |
int |
8 |
[1,...] |
高 |
num.network.threads |
处理网络请求的线程数 |
int |
3 |
[1,...] |
高 |
num.recovery.threads.per.data.dir |
启停时做日志恢复每个目录所需的线程数,采用RAID的时候可以增大该值 |
int |
1 |
[1,...] |
高 |
num.replica.fetchers |
从leader备份数据的线程数。该值越大,从broker的IO同步能力越强。 |
int |
1 |
|
高 |
offset.metadata.max.bytes |
客户端保留offset信息的最大空间大小 |
int |
4096 |
|
高 |
offsets.commit.required.acks |
在offset commit可以接受之前,需要设置确认的数目,一般不需要更改 |
short |
-1 |
|
高 |
offsets.commit.timeout.ms |
只有所有replicas收到提交或者达到这个超时值,否则偏移量提交延迟。 |
int |
5000 |
[1,...] |
高 |
offsets.load.buffer.size |
将偏移量加载到缓存中时,从偏移量区读取的大小限制。 |
int |
5242880 |
[1,...] |
高 |
offsets.retention.check.interval.ms |
检查旧的偏移量的频率,单位是毫秒 |
long |
600000 |
[1,...] |
高 |
offsets.retention.minutes |
偏移量主题的日志保留窗口,单位是分钟 |
int |
1440 |
[1,...] |
高 |
offsets.topic.compression.codec |
偏移量主题的压缩编码,压缩可以用于原子提交 |
int |
0 |
|
高 |
offsets.topic.num.partitions |
偏移量提交主题的分区数量(部署后不应该修改) |
int |
50 |
[1,...] |
高 |
offsets.topic.replication.factor |
偏移量主题的复制因子(尽量设置高点,保证可用性)。为了确保偏移量主题的有效复制因子是配置的值,活跃kafka集群的数量至少是第一次请求偏移量时的复制因子。如果不是,要么创建偏移量主题会失败,要么会获得一个最小量(活跃集群,配置的复制因子) |
short |
3 |
[1,...] |
高 |
offsets.topic.segment.bytes |
偏移量主题的分区大小应该设置相对小,为了保证更快的日志压缩和缓存加载 |
int |
104857600 |
[1,...] |
高 |
port |
过时的:只有当listener没有配置时才会生效,是指监听和获取连接的端口。 |
int |
9092 |
|
高 |
queued.max.requests |
加入队列的最大请求数(超过该值,network thread阻塞) |
int |
500 |
[1,...] |
高 |
quota.consumer.default |
如果不同的消费者的每秒消费速度超过了这个值,就会被控制速度。 |
long |
9223372036854775807 |
[1,...] |
高 |
quota.producer.default |
如果任何生产者的生产速度超过了这个值,就会被控制速率。 |
long |
9223372036854775807 |
[1,...] |
高 |
replica.fetch.max.bytes |
一次性获取的消息数量的最大限制 |
int |
1048576 |
|
高 |
replica.fetch.min.bytes |
一次性获取的消息数量的最小值,如果达不到这个值,需要等待最多replicaMaxWaitTimeMs |
int |
1 |
|
高 |
replica.fetch.wait.max.ms |
每个消费请求的最大等待时间,这个值应该总是小于replica.lag.time.max.ms,以防止因为低吞吐量的主题,导致的频繁减少ISR的数量 |
int |
500 |
|
高 |
replica.high.watermark.checkpoint.interval.ms |
每个replica检查是否将最高水位进行固化的频率 |
long |
5000 |
|
高 |
replica.lag.time.max.ms |
如果一个follower在这个时间内没有发送fetch请求,leader将从ISR重移除这个follower,并认为这个follower已经挂了 |
long |
10000 |
|
高 |
replica.socket.receive.buffer.bytes |
备份时向leader发送网络请求时的socket receive buffer |
int |
65536 |
|
高 |
replica.socket.timeout.ms |
网络连接超时。这个值应该至少为replica.fetch.wait.max.ms |
int |
30000 |
|
高 |
request.timeout.ms |
这个配置控制客户端等待响应的最大时间。如果在规定时间内没有响应,客户端会根据需要重新发起请求。如果超过了重试次数,客户端会将这次请求置为失败。 |
int |
30000 |
|
高 |
socket.receive.buffer.bytes |
socket用于接收网络请求的缓存大小 |
int |
102400 |
|
高 |
socket.request.max.bytes |
server允许的最大请求尺寸; 这将避免server溢出,它应该小于Java heap size |
int |
104857600 |
[1,...] |
高 |
socket.send.buffer.bytes |
SO_SNDBUFF 缓存大小,server进行socket 连接所用 |
int |
102400 |
|
高 |
unclean.leader.election.enable |
指明了是否能够使不在ISR中replicas设置用来作为leader,尽管这么做可能会导致数据丢失 |
boolean |
true |
|
高 |
zookeeper.connection.timeout.ms |
客户端等待连接到zk的最大时间。如果不设置,系统默认使用zookeeper.session.timeout.ms |
int |
null |
|
高 |
zookeeper.session.timeout.ms |
zk的session超时时间 |
int |
6000 |
|
高 |
zookeeper.set.acl |
设置客户端使用zk的安全策略ACLs |
boolean |
false |
|
高 |
broker.id.generation.enable |
是否启用集群机器id自动生成?如果启用,会检查配置的reserved.broker.max.id |
boolean |
true |
|
高 |