附录 B. 主题配置参数


cleanup.policy

type: list
Default: delete
Valid Values: [compact, delete]
Server Default Policies: log.cleanup.policy
Importance: medium

字符串,可以是"delete"或"compact"或两者。此字符串指定要在旧日志片段上使用的保留策略。默认策略("删除")将在达到保留时间或大小限制时丢弃旧片段。"compact"设置将在主题上启用 日志压缩

compression.type

type: string
Default: producer
Valid Values: [uncompressed, zstd, lz4, snappy, gzip, producer]
Server Defaultaff: compression.type
Importance: media

指定给定主题的最终压缩类型。此配置接受标准压缩代码c('gzip', 'snappy', 'lz4', 'zstd'。它还接受"未压缩",等同于不压缩;而"producer"则表示保留制作者设定的原始压缩编码器。

delete.retention.ms

type: long
Default: 86400000(1 天)
Valid Values: [0,…​]
Server Default attributes: log.cleaner.delete.retention.ms
Importance: media

日志压缩 的主题保留删除 tostone 标记的时间。此设置也提供了绑定,在该时间消费者必须完成读取操作(如果客户从偏移 0 开始,以确保他们获得最终阶段的有效快照(否则,可以在完成扫描前收集到mbstons)。

file.delete.delay.ms

type: long
Default: 60000(1 minute)
Valid Values: [0,…​]
Server Default attributes: log.segment.delete.delay.ms
Importance: medium

从文件系统中删除文件前等待的时间。

flush.messages

type: long
Default: 9223372036854775807
Valid Values: [0,…​]
Server Default Policies: log.flush.interval.messages
Importance: media

此设置允许指定间隔,从而强制写入到日志中的数据同步。例如,如果将其设置为 1,我们将每条消息后出现 fsync;如果是 5,我们将每五个消息后出现 fsync。通常,我们建议您不要设置此设置并使用复制来实现持久性,并允许操作系统后台清空功能,因为它更高效。此设置可以逐个主题覆盖(请参阅 每个主题配置部分)。

flush.ms

type: long
Default: 9223372036854775807
Valid Values: [0,…​]
Server Default Policies: log.flush.interval.ms
Importance: medium

此设置允许指定时间间隔,从而强制写入到日志中的数据同步。例如,如果将其设置为 1000,我们会在 1000 毫秒后出现 fsync。通常,我们建议您不要设置此设置并使用复制来实现持久性,并允许操作系统后台清空功能,因为它更高效。

follower.replication.throttled.replicas

type: list
Default: ""
Valid Values: [partitionId]:[brokerId],[partitionId]:[brokerId],…​
Server Default Policies: follower.replication.throttled.replicas
Importance: medium

在后续一侧应节流的日志复制副本列表。该列表应以 [PartitionId] 格式描述一组副本:[BrokerId],[PartitionId]:[BrokerId]:…​,也可以使用通配符 '*' 来限制此主题的所有副本。

index.interval.bytes

type: int
Default: 4096(4kibibytes)
Valid Values: [0,…​]
Server Default attributes: log.index.interval.bytes
Importance: media

此设置控制 Kafka 向偏移索引中添加索引条目的频率。默认设置可确保我们为大约每 4096 字节编制一条消息索引。索引化越多,读取操作可以跳到日志中确切的位置,但会使索引变大。您可能不需要更改此设置。

leader.replication.throttled.replicas

type: list
Default: ""
Valid Values: [partitionId]:[brokerId],[partitionId]:[brokerId],…​
Server Default Policies: leader.replication.throttled.replicas
Importance: medium

在领导一侧应节流的日志复制副本列表。该列表应以 [PartitionId] 格式描述一组副本:[BrokerId],[PartitionId]:[BrokerId]:…​,也可以使用通配符 '*' 来限制此主题的所有副本。

max.compaction.lag.ms

type: long
Default: 9223372036854775807
Valid Values: [1,…​]
Server Default attributes: log.cleaner.max.compaction.lag.ms
Importance: media

消息在日志中保持不可压缩的最大时间。仅适用于要紧凑的日志。

max.message.bytes

type: int
Default: 1048588
Valid Values: [0,…​]
Server Default attributes: message.max.bytes
Importance: media

Kafka 允许的最大记录批处理大小(启用压缩后,在压缩后)。如果这增加了,并且存在超过 0.10.2 的消费者,则消费者的获取大小也必须增加,以便他们能够获取如此大的记录批次。在最新的消息格式版本中,记录始终分组到批处理中,以提高效率。在以前的消息格式版本中,未压缩记录不分组,这种限制仅适用于单个记录。

message.format.version

type: string
Default: 2.8-IV1
Valid Values: [0.8.0, 0.8.1, 0.8.2, 0.9.0, 0.10.0-IV0, 0.10.0-IV1, 0.10.1-IV0, 0.10.1-IV1, 0.10.1-IV2, 0.10.2-iv0, 0.11.0-iv0, 0.11.0-iv1, 0.11.0-iv2, 1.0-iv0, 1.1-iv0, 2.0-iv0, 2.0-iv1, 2.1-iv0, 2.1-iv1, 2.1-iv2, 2.2-iv0, 2.2-iv0, 2.2-IV1, 2.3-IV0, 2.3-IV1, 2.4-IV0, 2.4-IV1, 2.5-IV0, 2.6-IV0, 2.7-IV0, 2.7-IV1, 2.7-IV2, 2.8-IV0, 2.8-IV1]
服务器默认值: log.message.format.version
Importance: media

指定代理用来将信息附加到日志的消息格式版本。该值应该是有效的 ApiVersion。些示例有: 0.8.2、0.9.0.0、0.10.0,检查 ApiVersion 获取更多详细信息。通过设置特定消息格式版本,用户将保证磁盘上的所有现有消息都小于或等于指定版本。错误地设置这个值将导致使用旧版本的用户中断,因为他们会接收消息,但格式不理解。

message.timestamp.difference.max.ms

type: long
Default: 9223372036854775807
Valid Values: [0,…​]
Server Default attributes: log.message.timestamp.difference.max.ms
Importance: media

代理接收消息和消息中指定的时间戳之间的最大差值。如果 message.timestamp.type=CreateTime,则如果时间戳差异超过此阈值,则消息将被拒绝。如果 message.timestamp.type=LogAppendTime,则忽略此配置。

message.timestamp.type

type: string
Default: CreateTime
Valid Values: [CreateTime, LogAppendTime]
Server Default attributes: log.message.timestamp.type
Importance: media

定义消息中的时间戳是消息创建时间还是日志附加时间。该值应该是 CreateTimeLogAppendTime

min.cleanable.dirty.ratio

type: double
Default: 0.5
Valid Values: [0,…​,1]
Server Default Policies: log.cleaner.min.cleanable.ratio
Importance: media

此配置控制日志压缩器尝试清理日志的频率(假设启用了 日志压缩 )。默认情况下,我们将避免清理已压缩超过 50% 的日志的日志。此比率绑定了日志中的最大空间被重复处理(最多 50% 的日志可以重复)。较高的比率意味着减少、更高效的清理,但意味着日志中空间比较浪费。如果还指定了 max.compaction.lag.ms 或 min.compaction.lag.ms 配置,则日志强化器会在满足脏比率阈值并且至少满足 min.compaction.lag.ms 持续时间时将日志视为符合压缩条件。 如果日志在 max.compaction.lag.ms 期间最多为 脏(不兼容)记录,或(ii)

min.compaction.lag.ms

type: long
Default: 0
Valid Values: [0,…​]
Server Default attributes: log.cleaner.min.compaction.lag.ms
Importance: media

消息在日志中保持未编译的最小时间。仅适用于要紧凑的日志。

min.insync.replicas

type: int
Default: 1
Valid Values: [1,…​]
Server Default attributes: min.insync.replicas
Importance: medium

当制作者将 ack 设置为"all"(或 "-1")时,此配置指定了必须确认写入操作的最小副本数才能将写入视为成功。如果无法满足此最小值,则生产者将引发异常(NotEnoughReplicas 或 NotEnoughReplicasAfterAppend)。当一起使用时,min.insync.replicasacks 允许您强制实施更好的持久性保证。一个典型的场景是创建一个复制因子 3,将 min.insync.replicas 设置为 2,并使用 acks 的 "all" 生成一个主题。这将确保大多数副本未收到写入时引发异常。

preallocate

type: boolean
Default: false
服务器默认属性: log.preallocate
Importance: medium

真(如果我们应该在创建新日志网段时预先将文件放置在磁盘上。

retention.bytes

type: long
Default: -1
Server Default attributes: log.retention.bytes
Importance: medium

此配置控制分区(由日志片段组成)的最大大小,以便在我们使用"删除"保留策略时丢弃旧日志片段以释放空间。默认情况下,没有大小限制。由于此限制在分区级别上强制执行,因此将其乘以分区数来计算主题保留(以字节为单位)。

retention.ms

type: long
Default: 604800000(7 days)
Valid Values: [-1,…​]
Server Default attributes: log.retention.ms
Importance: media

此配置控制在丢弃旧日志片段以便在使用"删除"保留策略时释放空间前要保留日志的最长时间。这代表了 SLA 使用者必须多久才能读取其数据。如果设为 -1,则不应用时间限制。

segment.bytes

type: int
Default: 1073741824(1 gibibyte)
Valid Values: [14,…​]
Server Default Policies: log.segment.bytes
Importance: media

此配置控制日志的片段文件大小。保留和清理始终会一次执行一个文件,因此较大的片段大小意味着较少的文件,但对保留的粒度控制较少。

segment.index.bytes

type: int
Default: 10485760(10 mebibytes)
Valid Values: [0,…​]
Server Default attributes: log.index.size.max.bytes
Importance: media

此配置控制映射偏移到文件位置的索引大小。我们将预分配此索引文件,并且仅在日志滚动后缩小。您通常不需要更改此设置。

segment.jitter.ms

type: long
Default: 0
Valid Values: [0,…​]
Server Default attributes: log.roll.jitter.ms
Importance: medium

从调度的网段滚动时间中减去最大随机 jitter,以避免滑动网段的悬停。

segment.ms

type: long
Default: 604800000(7 days)
Valid Values: [1,…​]
Server Default Policies: log.roll.ms
Importance: medium

此配置控制在经过多长时间后,Kafka 将强制日志滚动,即使片段文件未满,以确保保留可以删除或压缩旧数据。

unclean.leader.election.enable

type: boolean
Default: false
Server Default attributes: unclean.leader.election.enable
Importance: medium

指明是否启用 ISR 集合中的副本作为最后的手段,尽管这样做可能会导致数据丢失。

message.downconversion.enable

type: boolean
Default: true
Server Default attributes: log.message.downconversion.enable
Importance: low

此配置控制是否启用消息格式的 down-conversion 来满足使用请求。当设置为 false 时,代理不会为希望使用旧消息格式的消费者执行 down-conversion。代理响应 UNSUPPORTED_VERSION 错误来消耗来自这些旧客户端的请求。此配置不适用于跟随者可能需要复制的任何消息格式转换。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.