第 1 章 代理配置属性


advertised.listeners

type: string
Default: null
Importance: high
Dynamic update: per-broker

如果 监听程序 与监听程序配置属性不同,则会向 ZooKeeper 发布给 ZooKeeper 以供客户端使用。在 IaaS 环境中,这可能与代理绑定的接口不同。如果没有设置,则使用 监听程序 的值。与 监听器 不同,公告 0.0.0.0 meta-address 无效。另外,与 监听器 不同,此属性中可能会有重复的端口,以便配置一个监听程序来公告另一个侦听器的地址。在某些情况下,这在一些使用外部负载均衡器时很有用。

auto.create.topics.enable

Type: boolean
Default: true
Importance: high
Dynamic update: read-only

在服务器上启用自动创建主题。

auto.leader.rebalance.enable

Type: boolean
Default: true
Importance: high
Dynamic update: read-only

启用自动领导平衡。后台线程定期检查分区领导的发布,由 leader.imbalance.check.interval.seconds 进行配置。如果领导不平衡超过 leader.imbalance.per.broker.percentage,则触发分区的首选领导机。

background.threads

type: int
Default: 10
Valid Values: [1,…​]
Importance: high
Dynamic update: cluster-wide

用于各种后台处理任务的线程数量。

broker.id

type: int
Default: -\":\"Importance: high
Dynamic update: read-only

此服务器的代理 ID。如果未设置,则会生成一个唯一代理 id。要避免 zookeeper 生成的代理 ID 和用户的 broker id 之间的冲突,生成的代理 ID 从 reserved.broker.max.id + 1 开始。

compression.type

type: string
Default: producer
Valid Values: [uncompressed, zstd, lz4, snappy, gzip, producer]
Importance: high
Dynamic update: cluster-wide

指定给定主题的最终压缩类型。此配置接受标准压缩代码('gzip', 'snappy', 'lz4', 'zstd')。它还接受 'uncompressed',它相当于没有压缩;而 'producer' 意味着保留由制作者设置的原始压缩代码。

control.plane.listener.name

type: string
Default: null
Importance: high
Dynamic update: read-only

用于控制器和代理间的通信的监听程序名称。代理将使用 control.plane.listener.name 在监听器列表中找到端点,以侦听来自控制器的连接。例如,如果代理的配置为:listeners = INTERNAL://192.1.1.8:9092, EXTERNAL://10.1.1.5:9093, CONTROLLER://192.1.1.8:9094 listener.security.protocol.map = INTERNAL:PLAINTEXT, EXTERNAL:SSL, CONTROLLER:SSL control.plane.listener.name = CONTROLLER On startup, the broker will start listening on "192.1.1.8:9094" with security protocol "SSL"。在控制器上,通过 zookeeper 发现代理公布的端点时,它将使用 control.plane.listener.name 来查找端点,它将用来建立到代理的连接。例如,如果代理公布的在 zookeeper 上的端的为: "endpoints" : ["INTERNAL://broker1.example.com:9092","EXTERNAL://broker1.example.com:9093","CONTROLLER://broker1.example.com:9094"] and the controller’s config is : listener.security.protocol.map = INTERNAL:PLAINTEXT, EXTERNAL:SSL, CONTROLLER:SSL control.plane.listener.name = CONTROLLER then controller will use "broker1.example.com:9094" with security protocol "SSL" to connect to the broker。如果没有明确配置,则默认值为 null,并且没有控制器连接的专用端点。如果明确配置,则该值不能与 inter.broker.listener.name 的值相同。

controller.listener.names

type: string
Default: null
Importance: high
Dynamic update: read-only

控制器使用的监听程序名称的逗号分隔列表。这在 KRaft 模式下运行时需要。与控制器仲裁通信时,代理始终使用此列表中的第一个监听程序。注: 基于 ZK 的控制器不应设置此配置。

controller.quorum.election.backoff.max.ms

type: int
Default: 1000 (1 second)
Importance: high
Dynamic update: read-only

启动新选举前的最大时间(以毫秒为单位)。这在二进制 exponential backoff 机制中使用,有助于防止网格锁定的选举。

controller.quorum.election.timeout.ms

type: int
Default: 1000 (1 second)
Importance: high
Dynamic update: read-only

在触发新选举前,等待最大时间(毫秒)而无需从领导获取。

controller.quorum.fetch.timeout.ms

Type: int
Default: 2000 (2 秒)
Importance: high
Dynamic update: read-only

在成为投票者的候选和触发选举前,没有成功从当前领导机获取的最长时间;在要求出现新 epoch 前,从大多数仲裁接收最大时间,以查看是否有新的 epoch。

controller.quorum.voters

type: list
Default: ""
Valid Values: non-empty list
Importance: high
Dynamic update: read-only

以逗号分隔 {id}@{host}:{port}:{port}:{port} 条目的逗号分隔列表中 voters 集合的 id/endpoint 信息映射。例如: 1@localhost:9092,2@localhost:9093,3@localhost:9094

delete.topic.enable

Type: boolean
Default: true
Importance: high
Dynamic update: read-only

启用删除主题。如果此配置关闭,通过管理工具删除主题将无效。

early.start.listeners

type: string
Default: null
Importance: high
Dynamic update: read-only

以逗号分隔的监听程序名称列表,可以在授权器完成初始化前启动。当授权器依赖于集群本身进行引导时,这很有用,因为 StandardAuthorizer (在元数据日志中存储 ACL 的情况) 默认情况下,controller.listener.names 中包含的所有监听程序也会早期启动监听程序。如果侦听器接受外部流量,则不应显示在此列表中。

leader.imbalance.check.interval.seconds

Type: long
Default: 300
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

控制器触发分区重新平衡检查的频率。

leader.imbalance.per.broker.percentage

type: int
Default: 10
Importance: high
Dynamic update: read-only

每个代理允许的领导 imbalance 的比率。如果每个代理有超过这个值,控制器会触发领导平衡。该值以百分比形式指定。

监听器

type: string
Default: PLAINTEXT://:9092
Importance: high
Dynamic update: per-broker

侦听器列表 - 将要侦听的 URI 列表和侦听器名称。如果监听器名称不是安全协议,还必须设置 listener.security.protocol.map。侦听器名称和端口号必须是唯一的。将 hostname 指定为 0.0.0.0 以绑定到所有接口。将 hostname 留空给默认接口。法律侦听器列表示例: PLAINTEXT://myhost:9092,SSL://:9091 CLIENT://0.0.0.0:9092,REPLICATION://localhost:9093.

log.dir

type: string
Default: /tmp/kafka-logs
Importance: high
Dynamic update: read-only

保存日志数据的目录(log.dirs 属性的补充)。

log.dirs

type: string
Default: null
Importance: high
Dynamic update: read-only

存储日志数据的目录的逗号分隔列表。如果没有设置,则使用 log.dir 的值。

log.flush.interval.messages

Type: long
Default: 9223372036854775807
Valid Values: [1,…​]
Importance: high
Dynamic update: cluster-wide

在消息被刷新到磁盘之前,日志分区中积累的消息数。

log.flush.interval.ms

Type: long
Default: null
Importance: high
Dynamic update: cluster-wide

在刷新到磁盘前,任何主题中消息的最大时间(ms)保存在内存中。如果没有设置,则使用 log.flush.scheduler.interval.ms 中的值。

log.flush.offset.checkpoint.interval.ms

type: int
Default: 60000 (1 minute)
Valid Values: [0,…​]
Importance: high
Dynamic update: read-only

我们更新最后一次清空的持久记录的频率,它充当日志恢复点。

log.flush.scheduler.interval.ms

Type: long
Default: 9223372036854775807
Importance: high
Dynamic update: read-only

日志冲刷检查是否有任何日志需要刷新到磁盘的频率。

log.flush.start.offset.checkpoint.interval.ms

type: int
Default: 60000 (1 minute)
Valid Values: [0,…​]
Importance: high
Dynamic update: read-only

我们更新日志启动偏移的持久记录的频率。

log.retention.bytes

Type: long
Default: -\":\"Importance: high
Dynamic update: cluster-wide

在删除日志前的最大日志大小。

log.retention.hours

type: int
Default: 168
Importance: high
Dynamic update: read-only

在删除日志文件前(以小时为单位)保留日志文件的小时数,以及 log.retention.ms 属性。

log.retention.minutes

type: int
Default: null
Importance: high
Dynamic update: read-only

在删除日志文件前(以分钟为单位)保留日志文件的分钟数,次要到 log.retention.ms 属性。如果没有设置,则使用 log.retention.hours 的值。

log.retention.ms

Type: long
Default: null
Importance: high
Dynamic update: cluster-wide

在删除日志文件(以毫秒为单位)前保留日志文件的毫秒数(以毫秒为单位),则使用 log.retention.minutes 的值。如果设置为 -1,则不会应用时间限制。

log.roll.hours

type: int
Default: 168
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

新日志片段推出(以小时为单位)前的最大时间,次要到 log.roll.ms 属性。

log.roll.jitter.hours

type: int
Default: 0
Valid Values: [0,…​]
Importance: high
Dynamic update: read-only

从 logRollTimeMillis (以小时为单位)中减去的最大 jitter,次要到 log.roll.jitter.ms 属性。

log.roll.jitter.ms

Type: long
Default: null
Importance: high
Dynamic update: cluster-wide

从 logRollTimeMillis 中减去的最大 jitter (以毫秒为单位)。如果没有设置,则使用 log.roll.jitter.hours 的值。

log.roll.ms

Type: long
Default: null
Importance: high
Dynamic update: cluster-wide

推出新日志段前的最大时间(以毫秒为单位)。如果没有设置,则使用 log.roll.hours 的值。

log.segment.bytes

Type: int
Default: 1073741824 (1 gibibyte)
Valid Values: [14,…​]
Importance: high
Dynamic update: cluster-wide

单个日志文件的最大大小。

log.segment.delete.delay.ms

Type: long
Default: 60000 (1 minute)
Valid Values: [0,…​]
Importance: high
Dynamic update: cluster-wide

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

message.max.bytes

type: int
Default: 1048588
Valid Values: [0,…​]
Importance: high
Dynamic update: cluster-wide

Kafka 允许的最大记录批处理大小(如果启用压缩,则在压缩后)。如果增加且有 0.10.2 旧的消费者,则用户的获取大小也必须增加,以便他们可以获取大量记录批处理。在最新的消息格式版本中,记录始终分组到批处理中,以提高效率。在以前的消息格式版本中,未压缩的记录不会分组到批处理中,此限制仅适用于那种记录。这可以为每个主题设置 max.message.bytes 配置。

metadata.log.dir

type: string
Default: null
Importance: high
Dynamic update: read-only

此配置决定将集群的元数据日志置于 KRaft 模式的位置。如果没有设置,则元数据日志放置在 log.dirs 的第一个日志目录中。

metadata.log.max.record.bytes.between.snapshots

Type: long
Default: 20971520
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

这是生成新快照前的最新快照和高水位线之间的日志的最大字节数。默认值为 20971520。要根据经过的时间生成快照,请参阅 metadata.log.max.snapshot.interval.ms 配置。当达到最大时间间隔或达到最大字节数时,Kafka 节点会生成一个快照。

metadata.log.max.snapshot.interval.ms

Type: long
Default: 3600000 (1 小时)
Valid Values: [0,…​]
Importance: high
Dynamic update: read-only

如果日志中没有包含在最新快照中的记录,则等待生成快照的最大毫秒数。值为零可禁用基于时间的快照生成。默认值为 3600000。要根据元数据字节数生成快照,请参阅 metadata.log.max.record.bytes.between.snapshots 配置。当达到最大时间间隔或达到最大字节数时,Kafka 节点会生成一个快照。

metadata.log.segment.bytes

type: int
Default: 1073741824 (1 gibibyte)
Valid Values: [12,…​]
Importance: high
Dynamic update: read-only

单个元数据日志文件的最大大小。

metadata.log.segment.ms

Type: long
Default: 604800000 (7 days)
Importance: high
Dynamic update: read-only

推出新元数据日志文件前的最长时间(以毫秒为单位)。

metadata.max.retention.bytes

Type: long
Default: 104857600 (100 mebibytes)
Importance: high
Dynamic update: read-only

在删除旧快照和日志文件前,元数据日志和快照的最大大小。由于在删除任何日志前至少必须存在一个快照,因此这是一个软限制。

metadata.max.retention.ms

Type: long
Default: 604800000 (7 days)
Importance: high
Dynamic update: read-only

在删除元数据日志文件或快照前保留元数据日志文件或快照的毫秒数。由于在删除任何日志前至少必须存在一个快照,因此这是一个软限制。

min.insync.replicas

type: int
Default: 1
Valid Values: [1,…​]
Importance: high
Dynamic update: cluster-wide

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

node.id

type: int
Default: -\":\"Importance: high
Dynamic update: read-only

与此进程关联的角色的节点 ID 在 process.roles 非空时扮演。这是在 KRaft 模式下运行时需要的配置。

num.io.threads

type: int
Default: 8
Valid Values: [1,…​]
Importance: high
Dynamic update: cluster-wide

服务器用于处理请求的线程数量,其中可能包括磁盘 I/O。

num.network.threads

type: int
Default: 3
Valid Values: [1,…​]
Importance: high
Dynamic update: cluster-wide

服务器用来接收来自网络的请求的线程数量,并向网络发送响应。

num.recovery.threads.per.data.dir

type: int
Default: 1
Valid Values: [1,…​]
Importance: high
Dynamic update: cluster-wide

用于在启动时日志恢复的每个数据的线程数量,并在关闭时清除。

num.replica.alter.log.dirs.threads

type: int
Default: null
Importance: high
Dynamic update: read-only

可以在日志目录之间移动副本的线程数量,其中可能包括磁盘 I/O。

num.replica.fetchers

Type: int
Default: 1
Importance: high
Dynamic update: cluster-wide

用于从每个源代理复制记录的获取程序线程数量。每个代理上的获取器总数由 num.replica.fetchers 绑定,乘以集群中的代理数量。这个值可以提高后续程序中的 I/O 并行程度,以更高的 CPU 和内存利用率的成本为领导代理。

offset.metadata.max.bytes

type: int
Default: 4096 (4 kibibytes)
Importance: high
Dynamic update: read-only

与偏移提交关联的元数据条目的最大大小。

offsets.commit.required.acks

Type: short
Default: -\":\"Importance: high
Dynamic update: read-only

提交前需要的 acks 可以被接受。通常,默认值(-1)不应被覆盖。

offsets.commit.timeout.ms

type: int
Default: 5000 (5 秒)
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

偏移提交将延迟,直到达到所有偏移主题的所有副本接收提交或此超时。这与制作者请求超时类似。

offsets.load.buffer.size

type: int
Default: 5242880
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

在将偏移加载到缓存中时(soft-limit,如果记录太大,则从偏移读取的批处理大小)。

offsets.retention.check.interval.ms

Type: long
Default: 600000 (10 minutes)
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

检查过时偏移的频率。

offsets.retention.minutes

type: int
Default: 10080
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

对于订阅的用户,特定分区的提交偏移将在消费者组丢失其所有消费者(例如为空)后过期并丢弃此保留周期,因为最后一次为分区提交偏移时间,且组不再订阅相应主题。对于独立消费者(使用手动分配),从上次提交起经过此保留周期后偏移将过期。请注意,当通过 delete-group 请求删除组时,其提交偏移也会在没有额外的保留周期的情况下被删除;还要通过 delete-topic 请求删除主题时,传播元数据更新该主题的任何提交偏移也会在没有额外的保留周期的情况下被删除。

offsets.topic.compression.codec

type: int
Default: 0
Importance: high
Dynamic update: read-only

偏移主题的压缩解码器 - 压缩可用于实现"atomic"提交。

offsets.topic.num.partitions

type: int
Default: 50
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

偏移提交主题的分区数量(部署后不应更改)。

offsets.topic.replication.factor

Description: short
Default: 3
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

偏移主题的复制因素(设置更高的值以确保可用性)。在集群大小满足这个复制因子要求前,内部主题创建将失败。

offsets.topic.segment.bytes

type: int
Default: 104857600 (100 mebibytes)
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

偏移主题片段字节应保持相对小,以便加快日志压缩和缓存负载。

process.roles

type: list
Default: ""
Valid Values: [broker, controller]
Importance: high
Dynamic update: read-only

此过程 play 的角色:'broker'、'controller' 或 'broker,controller'(如果两者都是)。此配置仅适用于 KRaft (Kafka Raft)模式(而不是 ZooKeeper)中的集群。为 Zookeeper 集群保留此配置未定义或为空。

queued.max.requests

type: int
Default: 500
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

阻塞网络线程前允许 data-plane 的排队请求数。

replica.fetch.min.bytes

type: int
Default: 1
Importance: high
Dynamic update: read-only

每个获取响应的预期最小字节。如果没有足够的字节,请等待 replica.fetch.wait.max.ms (broker config)。

replica.fetch.wait.max.ms

type: int
Default: 500
Importance: high
Dynamic update: read-only

后续副本发出的每个获取请求的最大等待时间。这个值应该始终小于 replica.lag.time.max.ms,以防止频繁地缩减 ISR 以实现低吞吐量主题。

replica.high.watermark.checkpoint.interval.ms

Type: long
Default: 5000 (5 秒)
Importance: high
Dynamic update: read-only

将高水位线保存到磁盘的频率。

replica.lag.time.max.ms

Type: long
Default: 30000 (30 秒)
Importance: high
Dynamic update: read-only

如果后续者没有发送任何获取请求,或者尚未被消耗到领导日志结束偏移时间,则领导将从 isr 中删除后续者。

replica.socket.receive.buffer.bytes

type: int
Default: 65536 (64 kibibytes)
Importance: high
Dynamic update: read-only

网络请求的套接字接收缓冲区。

replica.socket.timeout.ms

type: int
Default: 30000 (30 秒)
Importance: high
Dynamic update: read-only

网络请求的套接字超时。其值应至少为 replica.fetch.wait.max.ms。

request.timeout.ms

type: int
Default: 30000 (30 秒)
Importance: high
Dynamic update: read-only

配置控制客户端等待请求响应的最长时间。如果响应在超时前收到,客户端会在必要时重新发送请求,或者在重试已耗尽时失败请求。

sasl.mechanism.controller.protocol

type: string
Default: GSSAPI
Importance: high
Dynamic update: read-only

用于与控制器通信的 SASL 机制。默认为 GSSAPI。

socket.receive.buffer.bytes

type: int
Default: 102400 (100 kibibytes)
Importance: high
Dynamic update: read-only

套接字服务器套接字的 SO_RCVBUF 缓冲。如果值为 -1,则会使用 OS 默认值。

socket.request.max.bytes

type: int
Default: 104857600 (100 mebibytes)
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

套接字请求中的最大字节数。

socket.send.buffer.bytes

type: int
Default: 102400 (100 kibibytes)
Importance: high
Dynamic update: read-only

套接字服务器套接字的 SO_SNDBUF 缓冲。如果值为 -1,则会使用 OS 默认值。

transaction.max.timeout.ms

type: int
Default: 900000 (15 分钟)
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

事务允许的最大超时。如果客户端的请求事务时间超过这个值,代理会返回 InitProducerIdRequest 的错误。这可防止客户端太大超时,这可能会使消费者从事务中包含的主题读取。

transaction.state.log.load.buffer.size

type: int
Default: 5242880
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

在将制作者 ID 和事务加载到缓存中时(soft-limit,则覆盖事务日志片段的批处理大小,如果记录太大,则覆盖)。

transaction.state.log.min.isr

type: int
Default: 2
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

覆盖 min.insync.replicas 配置,用于事务主题。

transaction.state.log.num.partitions

type: int
Default: 50
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

事务主题的分区数量(在部署后不应更改)。

transaction.state.log.replication.factor

Description: short
Default: 3
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

事务主题的复制因素(设置更高以确保可用性)。在集群大小满足这个复制因子要求前,内部主题创建将失败。

transaction.state.log.segment.bytes

type: int
Default: 104857600 (100 mebibytes)
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

事务主题片段字节应保持相对小,以便加快日志压缩和缓存负载。

transactional.id.expiration.ms

type: int
Default: 604800000 (7 days)
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

在其事务 ID 过期前,事务协调器会等待,而不接收当前事务的任何事务状态更新。当事务仍在持续时,事务 ID 不会过期。

unclean.leader.election.enable

Type: boolean
Default: false
Importance: high
Dynamic update: cluster-wide

指明是否使 ISR 集中的副本选择为最后的手段,即使这样做可能会导致数据丢失。

zookeeper.connect

type: string
Default: null
Importance: high
Dynamic update: read-only

hostname:port 格式指定 ZooKeeper 连接字符串,其中 host 和 port 是 ZooKeeper 服务器的主机和端口。当 ZooKeeper 机器停机时,允许通过其他 ZooKeeper 节点进行连接,您也可以以 hostname1:port1,hostname2:port2,hostname3:port3 的形式指定多个主机。服务器也可以具有 ZooKeeper chroot 路径作为其 ZooKeeper 连接字符串的一部分,将其数据置于全局 ZooKeeper 命名空间中的一些路径下。例如,要提供 chroot 路径为 /chroot/path,您将为连接字符串指定 hostname1:port1,hostname2:port2,hostname3:port3/chroot/path.

zookeeper.connection.timeout.ms

type: int
Default: null
Importance: high
Dynamic update: read-only

客户端等待与 zookeeper 连接的最大时间。如果没有设置,则使用 zookeeper.session.timeout.ms 中的值。

zookeeper.max.in.flight.requests

type: int
Default: 10
Valid Values: [1,…​]
Importance: high
Dynamic update: read-only

在阻塞前,客户端将发送到 Zookeeper 的最大未确认请求数量。

zookeeper.metadata.migration.enable

Type: boolean
Default: false
Importance: high
Dynamic update: read-only

启用 ZK 以 KRaft 迁移。

zookeeper.session.timeout.ms

type: int
Default: 18000 (18 秒)
Importance: high
Dynamic update: read-only

ZooKeeper 会话超时。

zookeeper.set.acl

Type: boolean
Default: false
Importance: high
Dynamic update: read-only

将 client 设置为使用安全 ACL。

broker.heartbeat.interval.ms

type: int
Default: 2000 (2 秒)
Importance: medium
Dynamic update: read-only

代理心跳之间的时间长度(毫秒)。在 KRaft 模式下运行时使用。

broker.id.generation.enable

Type: boolean
Default: true
Importance: medium
Dynamic update: read-only

在服务器上启用自动代理 ID 生成。启用为 reserved.broker.max.id 配置的值时,应检查。

broker.rack

type: string
Default: null
Importance: medium
Dynamic update: read-only

代理的机架.这将用于机架感知复制分配,以进行容错。示例: RACK1、 us-east-1d

broker.session.timeout.ms

type: int
Default: 9000 (9 秒)
Importance: medium
Dynamic update: read-only

如果没有进行心跳,代理租期最后的时间长度(以毫秒为单位)。在 KRaft 模式下运行时使用。

connections.max.idle.ms

Type: long
Default: 600000 (10 分钟)
Importance: medium
Dynamic update: read-only

空闲连接超时:服务器套接字处理器线程关闭闲置超过此的连接。

connections.max.reauth.ms

Type: long
Default: 0
Importance: medium
Dynamic update: read-only

当明确设置为正数(默认值 0 而不是正数)时,会话生命周期不会超过配置的值,将在客户端进行身份验证时传给 v2.2.0 或更高版本的客户端。代理将断开任何在会话生命周期内未重新验证的连接,然后用于重新身份验证以外的任何目的。配置名称可以选择在小写中带有监听器前缀和 SASL 机制名称作为前缀。例如,listener.name.sasl_ssl.oauthbearer.connections.max.reauth.ms=3600000。

controlled.shutdown.enable

Type: boolean
Default: true
Importance: medium
Dynamic update: read-only

启用服务器的受控关闭。

controlled.shutdown.max.retries

type: int
Default: 3
Importance: medium
Dynamic update: read-only

受控的关闭可能会因为多个原因失败。这决定了发生此类故障时重试次数。

controlled.shutdown.retry.backoff.ms

Type: long
Default: 5000 (5 秒)
Importance: medium
Dynamic update: read-only

在每次重试前,系统需要时间从导致之前故障的状态中恢复(Controller 故障切换、副本滞后等)。此配置决定了重试前要等待的时间。

controller.quorum.append.linger.ms

type: int
Default: 25
Importance: medium
Dynamic update: read-only

在将写入清除到磁盘前,领导机等待写入的时长(毫秒)。

controller.quorum.request.timeout.ms

type: int
Default: 2000 (2 秒)
Importance: medium
Dynamic update: read-only

配置控制客户端等待请求响应的最长时间。如果响应在超时前收到,客户端会在必要时重新发送请求,或者在重试已耗尽时失败请求。

controller.socket.timeout.ms

type: int
Default: 30000 (30 秒)
Importance: medium
Dynamic update: read-only

controller-to-broker 频道的套接字超时。

default.replication.factor

type: int
Default: 1
Importance: medium
Dynamic update: read-only

自动创建主题的默认复制因素。

delegation.token.expiry.time.ms

Type: long
Default: 86400000 (1 day)
Valid Values: [1,…​]
Importance: medium
Dynamic update: read-only

需要续订令牌前的 miliseconds 的令牌有效时间。默认值 1 天。

delegation.token.master.key

Type: password
Default: null
Importance: medium
Dynamic update: read-only

DEPRECATED:应使用 delegation.token.secret.key 的别名,而不是此配置。

delegation.token.max.lifetime.ms

Type: long
Default: 604800000 (7 days)
Valid Values: [1,…​]
Importance: medium
Dynamic update: read-only

令牌具有最大生命周期,但无法再续订。默认值为 7 天。

delegation.token.secret.key

Type: password
Default: null
Importance: medium
Dynamic update: read-only

用于生成和验证委托令牌的 secret 密钥。必须在所有代理间配置相同的密钥。如果密钥未设置为空字符串,代理将禁用委托令牌支持。

delete.records.purgatory.purge.interval.requests

type: int
Default: 1
Importance: medium
Dynamic update: read-only

删除记录请求的清除间隔(以请求数为单位)。

fetch.max.bytes

type: int
Default: 57671680 (55 mebibytes)
Valid Values: [1024,…​]
Importance: medium
Dynamic update: read-only

我们将为获取请求返回的最大字节数。必须至少为 1024。

fetch.purgatory.purge.interval.requests

type: int
Default: 1000
Importance: medium
Dynamic update: read-only

获取请求的清除间隔(以请求数)。

group.initial.rebalance.delay.ms

type: int
Default: 3000 (3 秒)
Importance: medium
Dynamic update: read-only

在执行第一个重新平衡前,组协调器将等待更多消费者加入新组的时间。延迟时间较长意味着可能会减少重新平衡,但会增加处理开始的时间。

group.max.session.timeout.ms

type: int
Default: 1800000 (30 minutes)
Importance: medium
Dynamic update: read-only

注册使用者允许的最大会话超时。超时时间较长,消费者有足够的时间在心跳间处理信息,以更长的时间检测故障。

group.max.size

type: int
Default: 2147483647
Valid Values: [1,…​]
Importance: medium
Dynamic update: read-only

单个消费者组可以容纳的最大使用者数量。

group.min.session.timeout.ms

type: int
Default: 6000 (6 秒)
Importance: medium
Dynamic update: read-only

注册使用者允许的最小会话超时。较短的超时会导致在更频繁的消费者心跳时更快地检测失败,这可能会给代理资源造成问题。

initial.broker.registration.timeout.ms

type: int
Default: 60000 (1 minute)
Importance: medium
Dynamic update: read-only

在最初使用控制器仲裁注册时,在声明失败并退出代理进程前要等待的毫秒。

inter.broker.listener.name

type: string
Default: null
Importance: medium
Dynamic update: read-only

用于代理间通信的监听程序名称。如果未设置,则监听器名称由 security.inter.broker.protocol 定义。同时设置这个和 security.inter.broker.protocol 属性是一个错误。

inter.broker.protocol.version

Type: string
Default: 3.4-IV0
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-iv1, 2.3-iv1, 2.3-iv0, 2.4-iv1, 2.5-iv0, 2.6-iv0, 2.6-iv0, 2.7-iv0, 2.7-iv1, 2.7-iv2, 2.8-iv0, 2.8-iv1, 3.0-iv0, 3.0-iv1, 3.0-iv1, 3.0-iv1, 3.1-IV0, 3.2-IV0, 3.3-IV0, 3.3-IV1, 3.3-IV2, 3.3-IV3, 3.4-IV0]
Importance: medium
Dynamic update: read-only

指定要使用的 inter-broker 协议的版本。这通常会在所有代理升级到新版本后被修复。某些有效值为: 0.8.0, 0.8.1, 0.8.1.1, 0.8.2, 0.8.2.0, 0.8.2.1, 0.9.0.0, 0.9.0.1 Check MetadataVersion for the full list。

log.cleaner.backoff.ms

Type: long
Default: 15000 (15 秒)
Valid Values: [0,…​]
Importance: medium
Dynamic update: cluster-wide

没有日志清理时休眠的时间。

log.cleaner.dedupe.buffer.size

Type: long
Default: 134217728
Importance: medium
Dynamic update: cluster-wide

在所有清理线程中用于日志 deduplication 的总内存。

log.cleaner.delete.retention.ms

Type: long
Default: 86400000 (1 day)
Valid Values: [0,…​]
Importance: medium
Dynamic update: cluster-wide

为日志压缩主题保留 delete tombstone 标记的时间长度。此设置还赋予一个时间绑定,消费者在从偏移 0 开始时必须完成读取,以确保它们获得最终阶段的有效快照(否则可以收集到mbstones,然后再完成其扫描)。

log.cleaner.enable

Type: boolean
Default: true
Importance: medium
Dynamic update: read-only

启用日志清理进程在服务器上运行。如果使用带有 cleanup.policy=compact 的任何主题,包括内部偏移主题,则应启用。如果禁用了这些主题,则不会压缩并持续增加这些主题。

log.cleaner.io.buffer.load.factor

Type: double
Default: 0.9
Importance: medium
Dynamic update: cluster-wide

log cleaner dedupe buffer load factor.dedupe 缓冲区已满的百分比可能会变为.较高的值将允许一次清理更多日志,但会导致更多哈希冲突。

log.cleaner.io.buffer.size

type: int
Default: 524288
Valid Values: [0,…​]
Importance: medium
Dynamic update: cluster-wide

在所有清理线程中用于日志清理 I/O 缓冲区的总内存。

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

Type: double
Default: 1.7976931348623157E308
Importance: medium
Dynamic update: cluster-wide

日志清理器将节流,以便其读取和写入 i/o 的总和小于这个值。

log.cleaner.max.compaction.lag.ms

Type: long
Default: 9223372036854775807
Valid Values: [1,…​]
Importance: medium
Dynamic update: cluster-wide

在日志中,消息可以保持无法压缩的最长时间。仅适用于被压缩的日志。

log.cleaner.min.cleanable.ratio

Type: double
Default: 0.5
Valid Values: [0,…​,1]
Importance: medium
Dynamic update: cluster-wide

日志的最小比率和总日志率,达到符合清理条件的日志。如果还指定了 log.cleaner.max.compaction.lag.ms 或 log.cleaner.min.compaction.lag.ms 配置,则日志紧凑器会在满足 log.cleaner.min.action.low.se.action.low.se.action.low.action.lag.se.action.lag.se.action.lagms 时视为符合压缩的日志,(i)脏比率阈值达到了脏比率阈值,并且日志至少具有 log.cleaner.min.compms 记录。 或(ii)如果日志具有最多 log.cleaner.max.compaction.lag.ms 周期的脏(未编译)记录。

log.cleaner.min.compaction.lag.ms

Type: long
Default: 0
Valid Values: [0,…​]
Importance: medium
Dynamic update: cluster-wide

日志中消息保持未编译的最小时间。仅适用于被压缩的日志。

log.cleaner.threads

type: int
Default: 1
Valid Values: [0,…​]
Importance: medium
Dynamic update: cluster-wide

用于日志清理的后台线程数量。

log.cleanup.policy

type: list
Default: delete
Valid Values: [compact, delete]
Importance: medium
Dynamic update: cluster-wide

保留窗口以外的片段的默认清理策略。以逗号分隔的有效策略列表。有效策略有:"delete" 和 "compact"。

log.index.interval.bytes

type: int
Default: 4096 (4 kibibytes)
Valid Values: [0,…​]
Importance: medium
Dynamic update: cluster-wide

在偏移索引中添加条目的时间间隔。

log.index.size.max.bytes

Type: int
Default: 10485760 (10 mebibytes)
Valid Values: [4,…​]
Importance: medium
Dynamic update: cluster-wide

偏移索引的最大大小(以字节为单位)。

log.message.format.version

Type: string
Default: 3.0-IV theValid 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-iv1, 2.3-iv1, 2.3-iv0, 2.4-iv1, 2.5-iv0, 2.6-iv0, 2.6-iv0, 2.7-iv0, 2.7-iv1, 2.7-iv2, 2.8-iv0, 2.8-iv1, 3.0-iv0, 3.0-iv1, 3.0-iv1, 3.0-iv1, 3.1-IV0, 3.2-IV0, 3.3-IV0, 3.3-IV1, 3.3-IV2, 3.3-IV3, 3.4-IV0]
Importance: medium
Dynamic update: read-only

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

log.message.timestamp.difference.max.ms

Type: long
Default: 9223372036854775807
Valid Values: [0,…​]
Importance: medium
Dynamic update: cluster-wide

代理收到消息和消息中指定的时间戳时允许的最大差别。如果 log.message.timestamp.type=CreateTime,如果时间戳的区别超过这个阈值,则会拒绝消息。如果 log.message.timestamp.type=LogAppendTime。则允许的最大时间戳差异不会大于 log.retention.ms,以避免不必要的日志滚动。

log.message.timestamp.type

type: string
Default: CreateTime
Valid Values: [CreateTime, LogAppendTime]
Importance: medium
Dynamic update: cluster-wide

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

log.preallocate

Type: boolean
Default: false
Importance: medium
Dynamic update: cluster-wide

在创建新段时,应预分配文件?如果您在 Windows 上使用 Kafka,可能需要将其设置为 true。

log.retention.check.interval.ms

Type: long
Default: 300000 (5 minutes)
Valid Values: [1,…​]
Importance: medium
Dynamic update: read-only

日志清理器检查日志清理的频率(毫秒)检查是否有资格删除日志。

max.connection.creation.rate

type: int
Default: 2147483647
Valid Values: [0,…​]
Importance: medium
Dynamic update: cluster-wide

在代理中允许的最大连接创建率。监听器级别限制也可以通过使用监听程序前缀作为前缀来配置,例如 listener.name.internal.max.connection.creation.rate.Broker-wide 连接速率限制,则应根据代理容量配置侦听器限制,而应根据应用程序要求配置监听程序限制。如果达到监听器或代理限制,新的连接将会节流,但 inter-broker 侦听器除外。只有在达到监听器级速率限值时,inter-broker 侦听器的连接才会节流。

max.connections

type: int
Default: 2147483647
Valid Values: [0,…​]
Importance: medium
Dynamic update: cluster-wide

在代理中允许的最大连接数。除了使用 max.connections.per.ip 配置的每ip 限制外,还会应用此限制。监听器级别限制也可以通过使用监听器前缀作为配置名称的前缀来配置,例如 listener.name.internal.max.connections。应根据代理容量配置代理范围限制,而根据应用程序要求应配置监听程序限制。如果达到监听器或代理限制,则阻止新连接。即使达到代理范围的限制,也允许 inter-broker 侦听程序上的连接。在这种情况下,将关闭另一个侦听程序中最早使用的连接。

max.connections.per.ip

type: int
Default: 2147483647
Valid Values: [0,…​]
Importance: medium
Dynamic update: cluster-wide

从每个 ip 地址允许的最大连接数。如果使用 max.connections.per.ip.overrides 属性配置覆盖,则可以将其设置为 0。如果达到限制,则会丢弃来自 ip 地址的新连接。

max.connections.per.ip.overrides

type: string
Default: ""
Importance: medium
Dynamic update: cluster-wide

以逗号分隔的 per-ip 或 hostname 列表覆盖到默认的最大连接数。示例值为 "hostName:100,127.0.0.1:200"。

max.incremental.fetch.session.cache.slots

type: int
Default: 1000
Valid Values: [0,…​]
Importance: medium
Dynamic update: read-only

我们要维护的最大增量获取会话数。

num.partitions

type: int
Default: 1
Valid Values: [1,…​]
Importance: medium
Dynamic update: read-only

每个主题的默认日志分区数量。

password.encoder.old.secret

Type: password
Default: null
Importance: medium
Dynamic update: read-only

用于动态配置的编码密码的旧 secret。这只在更新 secret 时才需要。如果指定,所有动态编码的密码都会使用这个旧 secret 进行解码,并在代理启动时使用 password.encoder.secret 重新编码。

password.encoder.secret

Type: password
Default: null
Importance: medium
Dynamic update: read-only

用于为这个代理动态配置的编码密码的 secret。

principal.builder.class

type: class
Default: org.apache.kafka.common.security.authenticator.DefaultKafkaPrincipalBuilder
Importance: medium
Dynamic update: per-broker

实施 KafkaPrincipalBuilder 接口的类的完全限定名称,用于构建在授权期间使用的 KafkaPrincipal 对象。如果没有定义主体构建器,则默认行为取决于使用中的安全协议。对于 SSL 身份验证,主体将使用由 ssl.principal.mapping.rules 定义的规则(如果提供)与客户端证书进行区分名称;否则,如果不需要客户端身份验证,则主体名称将为 ANONYMOUS。对于 SASL 身份验证,主体将使用 sasl.kerberos.principal.to.local.rules 定义的规则派生,如果 GSSAPI 正在使用,则 SASL 身份验证 ID 则用于其他机制。对于 PLAINTEXT,主体将为 ANONYMOUS。

producer.purgatory.purge.interval.requests

type: int
Default: 1000
Importance: medium
Dynamic update: read-only

制作者请求的清除间隔(以请求数) purgatory。

queued.max.request.bytes

Type: long
Default: -\":\"Importance: medium
Dynamic update: read-only

在读取更多请求前允许的排队字节数。

replica.fetch.backoff.ms

type: int
Default: 1000 (1 second)
Valid Values: [0,…​]
Importance: medium
Dynamic update: read-only

获取分区错误发生时休眠时间。

replica.fetch.max.bytes

type: int
Default: 1048576 (1 mebibyte)
Valid Values: [0,…​]
Importance: medium
Dynamic update: read-only

尝试为每个分区获取的消息字节数。这不是绝对的最大值,如果 fetch 的第一个非空分区中的第一个记录批处理大于这个值,则记录批处理仍会返回,以确保可以进行进度。代理接受的最大记录批处理大小通过 message.max.bytes (broker config)或 max.message.bytes (topic config)定义。

replica.fetch.response.max.bytes

type: int
Default: 10485760 (10 mebibytes)
Valid Values: [0,…​]
Importance: medium
Dynamic update: read-only

整个获取响应的预期最大字节数。记录批量获取,如果获取的第一个非空分区中的第一个记录批处理大于这个值,则记录批处理仍会返回,以确保进行进度。因此,这不是绝对的最大值。代理接受的最大记录批处理大小通过 message.max.bytes (broker config)或 max.message.bytes (topic config)定义。

replica.selector.class

type: string
Default: null
Importance: medium
Dynamic update: read-only

实现 ReplicaSelector 的完全限定类名称。代理使用它来查找首选的读取副本。默认情况下,我们使用返回领导的实施。

reserved.broker.max.id

type: int
Default: 1000
Valid Values: [0,…​]
Importance: medium
Dynamic update: read-only

可用于 broker.id 的最大数。

sasl.client.callback.handler.class

type: class
Default: null
Importance: medium
Dynamic update: read-only

实现 AuthenticateCallbackHandler 接口的 SASL 客户端回调处理器类的完全限定名称。

sasl.enabled.mechanisms

type: list
Default: GSSAPI
Importance: medium
Dynamic update: per-broker

Kafka 服务器中启用的 SASL 机制列表。列表中可以包含提供安全提供程序的任何机制。默认情况下仅启用 GSSAPI。

sasl.jaas.config

Type: password
Default: null
Importance: medium
Dynamic update: per-broker

用于 SASL 连接的 JAAS 登录上下文参数,其格式由 JAAS 配置文件使用的格式。JAAS 配置文件格式描述 在此处。值的格式是: loginModuleClass controlFlag (optionName=optionValue)*;。对于代理,配置必须在小写中带有监听前缀和 SASL 机制名称前缀。例如: listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule;.

sasl.kerberos.kinit.cmd

type: string
Default: /usr/bin/kinit
Importance: medium
Dynamic update: per-broker

Kerberos kinit 命令路径。

sasl.kerberos.min.time.before.relogin

Type: long
Default: 60000
Importance: medium
Dynamic update: per-broker

刷新尝试之间的登录线程睡眠时间。

sasl.kerberos.principal.to.local.rules

type: list
Default: DEFAULT
Importance: medium
Dynamic update: per-broker

从主体名称映射到短名称(通常是操作系统用户名)的规则列表。规则按顺序评估,第一个匹配主体名称的规则用于将其映射到短名称。列表中的任何后续规则都会被忽略。默认情况下,形式为 {username}/{hostname}@{REALM} 的主体名称映射到 {username}。有关格式的更多详细信息,请参阅安全 授权和 acl。请注意,如果 principal.builder.class 配置提供了 KafkaPrincipalBuilder 的扩展,则此配置会被忽略。

sasl.kerberos.service.name

type: string
Default: null
Importance: medium
Dynamic update: per-broker

Kafka 运行的 Kerberos 主体名称。这可以在 Kafka 的 JAAS 配置或 Kafka 配置中定义。

sasl.kerberos.ticket.renew.jitter

type: double
Default: 0.05
Importance: medium
Dynamic update: per-broker

添加到续订时间的随机 jitter 百分比。

sasl.kerberos.ticket.renew.window.factor

type: double
Default: 0.8
Importance: medium
Dynamic update: per-broker

登录线程会处于睡眠状态,直到最后一次刷新到票据到期时间的指定窗口因子被达到,此时它将尝试续订票据。

sasl.login.callback.handler.class

type: class
Default: null
Importance: medium
Dynamic update: read-only

实现 AuthenticateCallbackHandler 接口的 SASL 登录回调处理器类的完全限定名称。对于代理,登录回调处理器配置必须以监听器前缀和 SASL 机制名称作为前缀作为前缀。例如,listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler。

sasl.login.class

type: class
Default: null
Importance: medium
Dynamic update: read-only

实现 Login 接口的类的完全限定名称。对于代理,登录配置必须在小写中带有监听前缀和 SASL 机制名称前缀。For example, listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin.

sasl.login.refresh.buffer.seconds

Type: short
Default: 300
Importance: medium
Dynamic update: per-broker

刷新凭证时,凭证过期前要维护的缓冲区时间(以秒为单位)。如果刷新的过期时间比缓冲区秒数接近,则会移动刷新以尽可能多地维护缓冲区时间。法律值介于 0 到 3600 之间(1 小时);如果没有指定值,则使用默认值 300 (5 分钟)。如果它们总和超过凭证的剩余生命周期,则这个值和 sasl.login.refresh.min.period.seconds 都会被忽略。目前仅适用于 OAUTHBEARER。

sasl.login.refresh.min.period.seconds

Type: short
Default: 60
Importance: medium
Dynamic update: per-broker

在刷新凭证前,登录刷新线程需要最少的时间(以秒为单位)。法律值介于 0 到 900 (15 分钟);如果没有指定值,则使用默认值 60 (1 分钟)。如果其总和超过凭证的剩余生命周期,则这个值和 sasl.login.refresh.buffer.seconds 都会被忽略。目前仅适用于 OAUTHBEARER。

sasl.login.refresh.window.factor

type: double
Default: 0.8
Importance: medium
Dynamic update: per-broker

登录刷新线程将休眠,直到达到了与凭证生命周期相关的指定窗口因子,在此期间它将尝试刷新凭证。法律值介于 0.5 (50%)和 1.0 (100%)之间,如果未指定值,则使用默认值 0.8 (80%)。目前仅适用于 OAUTHBEARER。

sasl.login.refresh.window.jitter

type: double
Default: 0.05
Importance: medium
Dynamic update: per-broker

与凭证生命周期相关的随机 jitter 的最大随机处理量,添加到登录刷新线程的睡眠时间中。法律值介于 0 到 0.25(25%)之间,如果没有指定值,则使用默认值 0.05(5%)。目前仅适用于 OAUTHBEARER。

sasl.mechanism.inter.broker.protocol

type: string
Default: GSSAPI
Importance: medium
Dynamic update: per-broker

用于代理间通信的 SASL 机制。默认为 GSSAPI。

sasl.oauthbearer.jwks.endpoint.url

type: string
Default: null
Importance: medium
Dynamic update: read-only

从中检索提供程序 JWKS (JSON Web Key Set) 的 OAuth/OIDC 供应商 URL。URL 可以是基于 HTTP (S)或基于文件的 URL。如果 URL 基于 HTTP (S),则 JWKS 数据将通过代理启动时配置的 URL 从 OAuth/OIDC 供应商中检索。所有 then-current 密钥都将缓存到代理上,用于传入的请求。如果为 JWT 收到身份验证请求,其中包含尚未在缓存中"kid"标头声明值,则 JWKS 端点将根据需要重新查询。但是,代理在每个 sasl.oauthbearer.jwks.endpoint.refresh.ms 毫秒中轮询 URL,以便在收到包含它们的 JWT 请求前使用任何即将刷新缓存。如果 URL 基于文件,代理将在启动时从配置的位置加载 JWKS 文件。如果 JWT 包含不在 JWKS 文件中的"kid"标头值,代理将拒绝 JWT,身份验证将失败。

sasl.oauthbearer.token.endpoint.url

type: string
Default: null
Importance: medium
Dynamic update: read-only

OAuth/OIDC 身份提供程序的 URL。如果 URL 基于 HTTP (S),则它是签发者的令牌端点 URL,请求将根据 sasl.jaas.config 中的配置登录。如果 URL 基于文件,它指定一个包含由 OAuth/OIDC 身份提供程序发布的访问令牌(在 JWT 序列化形式)的文件,以用于授权。

sasl.server.callback.handler.class

type: class
Default: null
Importance: medium
Dynamic update: read-only

实现 AuthenticateCallbackHandler 接口的 SASL 服务器回调处理器类的完全限定名称。服务器回调处理程序必须在小写中带有监听器前缀和 SASL 机制名称作为前缀。例如,listener.name.sasl_ssl.plain.sasl.server.callback.handler.class=com.example.CustomPlainCallbackHandler。

sasl.server.max.receive.size

type: int
Default: 524288
Importance: medium
Dynamic update: read-only

在初始 SASL 身份验证前和期间允许的最大接收大小。默认接收大小为 512KB。GSSAPI 将请求限制为 64K,但对于自定义 SASL 机制,我们默认允许 512KB。在实践中,PLAIN、SCRAM 和 OAUTH 机制可以使用非常小的限制。

security.inter.broker.protocol

Description: string
Default: PLAINTEXT
Valid Values: [PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL]
Importance: medium
Dynamic update: read-only

用于在代理之间进行通信的安全协议。有效值为: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL.这是一个同时设置这个和 inter.broker.listener.name 属性的错误。

socket.connection.setup.timeout.max.ms

Type: long
Default: 30000 (30 seconds)
Importance: medium
Dynamic update: read-only

客户端将等待套接字连接建立的最长时间。对于每个连续连接失败,连接设置超时将以指数级增长到此最大值。为避免连接失败,0.2 的随机因素将应用于超时,导致在计算值高于计算值的 20% 到 20% 之间的随机范围。

socket.connection.setup.timeout.ms

Type: long
Default: 10000 (10 秒)
Importance: medium
Dynamic update: read-only

客户端将等待套接字连接建立的时间。如果在超时前没有构建连接,客户端将关闭套接字频道。

socket.listen.backlog.size

type: int
Default: 50
Valid Values: [1,…​]
Importance: medium
Dynamic update: read-only

套接字上待处理连接的最大数量。在 Linux 中,您可能还需要相应地配置 somaxconntcp_max_syn_backlog 内核参数,以使配置生效。

ssl.cipher.suites

type: list
Default: ""
Importance: medium
Dynamic update: per-broker

密码套件列表。这是身份验证、加密、MAC 和密钥交换算法的命名组合,用于使用 TLS 或 SSL 网络协议协商网络连接的安全设置。默认情况下支持所有可用的密码套件。

ssl.client.auth

type: string
Default: none
Valid Values: [required, requested, none]
Importance: medium
Dynamic update: per-broker

配置 kafka 代理以请求客户端身份验证。以下设置很常见:

  • ssl.client.auth=required if set to required client authentication required.
  • ssl.client.auth=requested 意味着客户端身份验证是可选的。如果需要,如果设置此选项,客户端可以选择不提供有关其自身的身份验证信息
  • SSL.client.auth=none 意味着不需要客户端身份验证。
ssl.enabled.protocols

type: list
Default: TLSv1.2,TLSv1.3
Importance: medium
Dynamic update: per-broker

为 SSL 连接启用的协议列表。使用 Java 11 或更高版本 'TLSv1.2' 运行时,默认为 'TLSv1.2'。使用 Java 11 的默认值,如果客户端和服务器同时支持 TLSv1.3,则客户端和服务器将首选 TLSv1.3,否则将回退到 TLSv1.2(假设两者都至少支持 TLSv1.2)。这个默认值对于大多数情况来说应该可以正常工作。另请参阅 ssl.protocol 的配置文档。

ssl.key.password

Type: password
Default: null
Importance: medium
Dynamic update: per-broker

密钥存储文件或 'ssl.keystore.key' 中指定的 PEM 密钥中的私钥密码。

ssl.keymanager.algorithm

type: string
Default: SunX509
Importance: medium
Dynamic update: per-broker

用于 SSL 连接的密钥管理器工厂使用的算法。Default 值是为 Java 虚拟机配置的密钥管理器工厂算法。

ssl.keystore.certificate.chain

Type: password
Default: null
Importance: medium
Dynamic update: per-broker

使用由 'ssl.keystore.type" 指定的格式的证书链。默认 SSL 引擎工厂只支持带有 X.509 证书列表的 PEM 格式。

ssl.keystore.key

Type: password
Default: null
Importance: medium
Dynamic update: per-broker

使用 'ssl.keystore.type" 指定的格式的私钥。默认 SSL 引擎工厂只支持带有 PKCS#8 密钥的 PEM 格式。如果密钥加密,则必须使用 'ssl.key.password' 指定密钥密码。

ssl.keystore.location

type: string
Default: null
Importance: medium
Dynamic update: per-broker

密钥存储文件的位置。这是可选的,可用于客户端双向身份验证。

ssl.keystore.password

Type: password
Default: null
Importance: medium
Dynamic update: per-broker

密钥存储文件的存储密码。这适用于客户端,只有在配置了 'ssl.keystore.location' 时才需要。PEM 格式不支持密钥存储密码。

ssl.keystore.type

type: string
Default: JKS
Importance: medium
Dynamic update: per-broker

密钥存储文件的文件格式。这对客户端是可选的。默认 ssl.engine.factory.class 目前支持的值是 [JKS, PKCS12, PEM]。

ssl.protocol

type: string
Default: TLSv1.3
Importance: medium
Dynamic update: per-broker

用于生成 SSLContext 的 SSL 协议。使用 Java 11 或更高版本 'TLSv1.2' 运行时,默认为 'TLSv1.3'。这个值应该适用于大多数用例。最近的 JVM 中的允许值为 'TLSv1.2' 和 'TLSv1.3'。'TLS', 'TLSv1.1', 'SSL', 'SSLv2' 和 'SSLv3' 可能在较旧的 JVM 中被支持,但由于已知的安全漏洞,不建议使用它们的使用。使用这个配置和 'ssl.enabled.protocols' 的默认值,如果服务器不支持 'TLSv1.3',客户端将降级为 'TLSv1.2'。如果此配置被设置为 'TLSv1.2',则客户端将不会使用 'TLSv1.3',即使它是 ssl.enabled.protocols 中的一个值,且服务器只支持 'TLSv1.3'。

ssl.provider

type: string
Default: null
Importance: medium
Dynamic update: per-broker

用于 SSL 连接的安全提供程序的名称。默认值为 JVM 的默认安全提供程序。

ssl.trustmanager.algorithm

type: string
Default: PKIX
Importance: medium
Dynamic update: per-broker

信任管理器工厂用于 SSL 连接的算法。Default 值是为 Java 虚拟机配置的信任管理器工厂算法。

ssl.truststore.certificates

Type: password
Default: null
Importance: medium
Dynamic update: per-broker

可信证书,格式为 'ssl.truststore.type'。默认 SSL 引擎工厂仅支持使用 X.509 证书使用 PEM 格式。

ssl.truststore.location

type: string
Default: null
Importance: medium
Dynamic update: per-broker

信任存储文件的位置。

ssl.truststore.password

Type: password
Default: null
Importance: medium
Dynamic update: per-broker

信任存储文件的密码。如果没有设置密码,则仍将使用配置的信任存储文件,但会禁用完整性检查。PEM 格式不支持信任存储密码。

ssl.truststore.type

type: string
Default: JKS
Importance: medium
Dynamic update: per-broker

信任存储文件的文件格式。默认 ssl.engine.factory.class 目前支持的值是 [JKS, PKCS12, PEM]。

zookeeper.clientCnxnSocket

type: string
Default: null
Importance: medium
Dynamic update: read-only

在使用 ZooKeeper 的 TLS 连接时,通常设置为 org.apache.zookeeper.ClientCnxnSocketNetty。覆盖通过同名 zookeeper.clientCnxnSocket 系统属性设置的任何显式值。

zookeeper.ssl.client.enable

type: boolean
Default: false
Importance: medium
Dynamic update: read-only

将客户端设置为在连接到 ZooKeeper 时使用 TLS。显式值覆盖通过 zookeeper.client.secure 系统属性设置的任何值(请注意不同的名称)。如果未设置任何值,则默认值为 false;如果为 true,zookeeper.clientCnxnSocket 必须设置为 org.apache.zookeeper.ClientCnxnSocketNetty);其他值可能会包括 zookeeper.ssl.cipher.suites,zookeeper.ssl.crl.enable,zookeeper.ssl.enabled.protocols, zookeeper.ssl.endpoint.identification.algorithm,zookeeper.ssl.keystore.location,zookeeper.ssl.keystore.password,zookeeper.ssl.keystore.type,zookeeper.ssl.ocsp.enable,zookeeper.ssl.protocol,zookeeper.ssl.truststore.location, zookeeper.ssl.truststore.password,zookeeper.ssl.truststore.type.

zookeeper.ssl.keystore.location

type: string
Default: null
Importance: medium
Dynamic update: read-only

将客户端证书与 ZooKeeper 的 TLS 连接一起使用时的密钥存储位置。覆盖通过 zookeeper.ssl.keyStore.location 系统属性设置的任何显式值(请注意 camelCase)。

zookeeper.ssl.keystore.password

Type: password
Default: null
Importance: medium
Dynamic update: read-only

将客户端证书与 ZooKeeper 的 TLS 连接一起使用时,密钥存储密码。覆盖通过 zookeeper.ssl.keyStore.password 系统属性设置的任何显式值(请注意 camelCase)。请注意,zookeeper 不支持与密钥存储密码不同的密钥密码,因此请务必将密钥存储中的密钥密码设置为与密钥存储密码相同;否则,尝试连接 Zookeeper 将失败。

zookeeper.ssl.keystore.type

type: string
Default: null
Importance: medium
Dynamic update: read-only

将客户端证书与 ZooKeeper 的 TLS 连接一起使用时,密钥存储类型。覆盖通过 zookeeper.ssl.keyStore.type 系统属性设置的任何显式值(请注意 camelCase)。默认值 null 表示类型将根据密钥存储的文件名扩展名来自动探测。

zookeeper.ssl.truststore.location

type: string
Default: null
Importance: medium
Dynamic update: read-only

使用 TLS 连接到 ZooKeeper 时的 truststore 位置。覆盖通过 zookeeper.ssl.trustStore.location 系统属性设置的任何显式值(请注意 camelCase)。

zookeeper.ssl.truststore.password

Type: password
Default: null
Importance: medium
Dynamic update: read-only

使用 TLS 连接到 ZooKeeper 时的 truststore 密码。覆盖通过 zookeeper.ssl.trustStore.password 系统属性设置的任何显式值(请注意 camelCase)。

zookeeper.ssl.truststore.type

type: string
Default: null
Importance: medium
Dynamic update: read-only

使用 TLS 连接 ZooKeeper 时的 truststore 类型。覆盖通过 zookeeper.ssl.trustStore.type 系统属性设置的任何显式值(请注意 camelCase)。默认值 null 表示类型将根据信任存储的文件名扩展自动探测。

alter.config.policy.class.name

type: class
Default: null
Importance: low
Dynamic update: read-only

用于验证的 changes 配置策略类。该类应实施 org.apache.kafka.server.policy.AlterConfigPolicy 接口。

alter.log.dirs.replication.quota.window.num

type: int
Default: 11
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

要在内存中保留的示例数量会改变日志目录复制配额。

alter.log.dirs.replication.quota.window.size.seconds

type: int
Default: 1
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

每个样本的时间范围会改变日志目录复制配额。

authorizer.class.name

type: string
Default: ""
Valid Values: non-null string
Importance: low
Dynamic update: read-only

实现 org.apache.kafka.server.authorizer.Authorizer 接口的类的完全限定名称,代理将用于授权。

auto.include.jmx.reporter

Type: boolean
Default: true
Importance: low
Dynamic update: read-only

已弃用。即使没有在 metric.reporters 中列出,也自动包含 JmxReporter。此配置将在 Kafka 4.0 中删除,用户应改为将 org.apache.kafka.common.metrics.JmxReporter 包含在 metric.reporters 中,以便启用 JmxReporter。

client.quota.callback.class

type: class
Default: null
Importance: low
Dynamic update: read-only

实现 ClientQuotaCallback 接口的类的完全限定名称,用于决定应用到客户端请求的配额限制。默认情况下,应用存储在 ZooKeeper 中的 <user> 和 <client-id> 配额。对于任何给定请求,将应用与会话的用户主体和请求客户端 ID 匹配的最具体的配额。

connection.failed.authentication.delay.ms

type: int
Default: 100
Valid Values: [0,…​]
Importance: low
Dynamic update: read-only

失败验证的连接关闭延迟:这是关闭连接的时间(以毫秒为单位)将在身份验证失败时延迟。这必须配置为小于 connection.max.idle.ms 以防止连接超时。

controller.quorum.retry.backoff.ms

type: int
Default: 20
Importance: low
Dynamic update: read-only

尝试重试失败的请求到给定主题分区前等待的时间。这可避免在某些故障情况下在严格的循环中重复发送请求。

controller.quota.window.num

type: int
Default: 11
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

为控制器修改配额在内存中保留的示例数量。

controller.quota.window.size.seconds

type: int
Default: 1
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

控制器修改配额的每个示例的时间范围。

create.topic.policy.class.name

type: class
Default: null
Importance: low
Dynamic update: read-only

应该用于验证的 create topic 策略类。该类应实施 org.apache.kafka.server.policy.CreateTopicPolicy 接口。

delegation.token.expiry.check.interval.ms

Type: long
Default: 3600000 (1 小时)
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

扫描间隔以删除已过期的委托令牌。

kafka.metrics.polling.interval.secs

type: int
Default: 10
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

指标轮询间隔(以秒为单位)可在 kafka.metrics.reporters 实现中使用。

kafka.metrics.reporters

type: list
Default: ""
Importance: low
Dynamic update: read-only

用作 Yammer 指标定制报告器的类列表。报告者应该实现 kafka.metrics.KafkaMetricsReporter trait。如果客户端希望对自定义报告器公开 JMX 操作,则自定义报告程序还需要实施 MBean 特征来扩展 kafka.metrics.KafkaMetricsReporterMBean 特征,以便注册的 MBean 符合标准 MBean 约定。

listener.security.protocol.map

Description: string
Default: PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
Importance: low
Dynamic update: per-broker

侦听器名称和安全协议之间的映射。这必须定义使同一安全协议在多个端口或 IP 中可用。例如,即使两者都需要 SSL,也可以分隔内部和外部流量。与之相反,用户可以将命名为 INTERNAL 和 EXTERNAL 的监听程序定义为: INTERNAL:SSL,EXTERNAL:SSL。如所示,键和值用冒号隔开,映射条目则用逗号分隔。每个侦听器名称应该仅在映射中出现一次。可以通过向配置名称中添加规范化前缀(监听程序名称为小写)为各个监听程序配置不同的安全(SSL 和 SASL)设置。例如,要为 INTERNAL 侦听器设置不同的密钥存储,将设置名为 listener.name.internal.ssl.keystore.location 的配置。如果没有设置监听器名称的配置,则配置将回退到通用配置(如 ssl.keystore.location)。请注意,在 KRaft 中,如果不提供显式映射且没有使用其他安全协议,则假定从 controller.listener.names 定义的监听程序名称到 PLAINTEXT 的默认映射。

log.message.downconversion.enable

Type: boolean
Default: true
Importance: low
Dynamic update: cluster-wide

此配置控制是否启用了 down-conversion 消息格式来满足消费请求。当设置为 false 时,代理将不会对希望旧消息格式的消费者执行 down-conversion。对于来自较旧的客户端的消费请求,代理会以 UNSUPPORTED_VERSION 错误响应。此配置不适用于复制才能遵循的任何消息格式转换。

metadata.max.idle.interval.ms

type: int
Default: 500
Valid Values: [0,…​]
Importance: low
Dynamic update: read-only

此配置控制活跃控制器应该将 no-op 记录写入元数据分区的频率。如果值为 0,则不会将 no-op 记录附加到元数据分区中。默认值为 500。

metric.reporters

type: list
Default: ""
Importance: low
Dynamic update: cluster-wide

用作指标报告器的类列表。通过实施 org.apache.kafka.common.metrics.MetricsReporter 接口,可以插入新指标创建通知的类。JmxReporter 始终包含在注册 JMX 统计数据中。

metrics.num.samples

type: int
Default: 2
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

维护到计算指标的示例数量。

metrics.recording.level

type: string
Default: INFO
Importance: low
Dynamic update: read-only

指标的最高记录级别。

metrics.sample.window.ms

Type: long
Default: 30000 (30 seconds)
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

计算指标示例的时间窗口。

password.encoder.cipher.algorithm

type: string
Default: AES/CBC/PKCS5Padding
Importance: low
Dynamic update: read-only

用于动态配置的编码密码的 Cipher 算法。

password.encoder.iterations

type: int
Default: 4096
Valid Values: [1024,…​]
Importance: low
Dynamic update: read-only

用于动态配置的编码密码的迭代计数。

password.encoder.key.length

type: int
Default: 128
Valid Values: [8,…​]
Importance: low
Dynamic update: read-only

用于动态配置的编码密码的密钥长度。

password.encoder.keyfactory.algorithm

type: string
Default: null
Importance: low
Dynamic update: read-only

用于动态配置的编码密码的 SecretKeyFactory 算法。如果提供,则默认为 PBKDF2WithHmacSHA512 (如果可用),否则为 PBKDF2WithHmacSHA1。

producer.id.expiration.ms

type: int
Default: 86400000 (1 day)
Valid Values: [1,…​]
Importance: low
Dynamic update: cluster-wide

主题分区领导将在生成者 ID 过期前等待的时间。当与它们关联的事务仍在持续时,生成者 ID 不会过期。请注意,如果因为主题的保留设置删除了来自制作者 ID 的最后一个写入,则制作者 ID 可能会很快过期。将此值设置为比 delivery.timeout.ms 相同的或更高,有助于防止重试和防止消息重复期间过期,但默认值应该适合于大多数用例。

quota.window.num

type: int
Default: 11
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

为客户端配额保留在内存中的示例数量。

quota.window.size.seconds

type: int
Default: 1
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

客户端配额的每个示例的时间范围。

replication.quota.window.num

type: int
Default: 11
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

在内存中保留复制配额的示例数量。

replication.quota.window.size.seconds

type: int
Default: 1
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

复制配额的每个示例的时间范围。

sasl.login.connect.timeout.ms

type: int
Default: null
Importance: low
Dynamic update: read-only

(可选)外部身份验证供应商连接超时的值(以毫秒为单位)。目前仅适用于 OAUTHBEARER。

sasl.login.read.timeout.ms

type: int
Default: null
Importance: low
Dynamic update: read-only

(可选)外部身份验证提供程序读取超时的值(以毫秒为单位)。目前仅适用于 OAUTHBEARER。

sasl.login.retry.backoff.max.ms

Type: long
Default: 10000 (10 秒)
Importance: low
Dynamic update: read-only

(可选)值(可选)值,以毫秒为单位,登录尝试外部身份验证提供程序之间的最长等待时间。login 使用基于 sasl.login.retry.backoff.ms 设置的初始等待时间的 exponential backoff 算法,并在尝试通过 sasl.login.retry.backoff.max.ms 设置指定的最大等待长度之间以等待长度加倍。目前仅适用于 OAUTHBEARER。

sasl.login.retry.backoff.ms

Type: long
Default: 100
Importance: low
Dynamic update: read-only

(可选)值(可选)值,以毫秒为单位,用于登录尝试外部身份验证提供程序之间的初始等待。login 使用基于 sasl.login.retry.backoff.ms 设置的初始等待时间的 exponential backoff 算法,并在尝试通过 sasl.login.retry.backoff.max.ms 设置指定的最大等待长度之间以等待长度加倍。目前仅适用于 OAUTHBEARER。

sasl.oauthbearer.clock.skew.seconds

type: int
Default: 30
Importance: low
Dynamic update: read-only

(可选)值(以秒为单位)允许 OAuth/OIDC 身份提供程序和代理的时间之间的区别。

sasl.oauthbearer.expected.audience

type: list
Default: null
Importance: low
Dynamic update: read-only

(可选)代理的以逗号分隔的设置,用于验证为预期受众之一发布的 JWT。JWT 将检查是否有标准的 OAuth "aud" 声明,如果设置了这个值,代理将匹配 JWT 的"aud"声明中的值,以查看是否有完全匹配。如果没有匹配项,代理将拒绝 JWT,身份验证将失败。

sasl.oauthbearer.expected.issuer

type: string
Default: null
Importance: low
Dynamic update: read-only

(可选)代理用于验证 JWT 是由预期签发者创建的。JWT 将检查是否有标准的 OAuth"iss"声明,如果设置了这个值,代理将完全与 JWT 的"iss"声明中的内容匹配。如果没有匹配项,代理将拒绝 JWT,身份验证将失败。

sasl.oauthbearer.jwks.endpoint.refresh.ms

Type: long
Default: 3600000 (1 小时)
Importance: low
Dynamic update: read-only

(可选)值(可选)代理在刷新其 JWKS (JSON Web Key Set)缓存之间等待的时间(以毫秒为单位),其中包含验证 JWT 签名的密钥。

sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms

Type: long
Default: 10000 (10 秒)
Importance: low
Dynamic update: read-only

(可选)值(可选)值(以毫秒为单位),尝试从外部身份验证供应商检索 JWKS (JSON Web Key Set)之间的最长等待时间。JWKS 检索使用基于 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 设置的初始等待时间,在尝试达到由 sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms 设置指定的最大等待长度之间会重复等待长度。

sasl.oauthbearer.jwks.endpoint.retry.backoff.ms

Type: long
Default: 100
Importance: low
Dynamic update: read-only

(可选)值(可选)值,以毫秒为单位,用于来自外部身份验证提供程序的 JWKS (JSON Web Key Set)检索尝试。JWKS 检索使用基于 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 设置的初始等待时间,在尝试达到由 sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms 设置指定的最大等待长度之间会重复等待长度。

sasl.oauthbearer.scope.claim.name

type: string
Default: scope
Importance: low
Dynamic update: read-only

范围的 OAuth 声明通常命名为"scope",但这(可选)设置可以提供与 JWT 有效负载声明中包含的范围使用不同的名称,如果 OAuth/OIDC 供应商对该声明使用不同的名称。

sasl.oauthbearer.sub.claim.name

type: string
Default: sub
Importance: low
Dynamic update: read-only

主题的 OAuth 声明通常名为"sub",但这(可选)设置可以提供与 JWT 有效负载声明中包含的主题使用不同的名称,如果 OAuth/OIDC 供应商对该声明使用不同的名称。

security.providers

type: string
Default: null
Importance: low
Dynamic update: read-only

可配置的创建者类列表,每个都返回实施安全算法的供应商。这些类应该实施 org.apache.kafka.common.security.auth.SecurityProviderCreator 接口。

ssl.endpoint.identification.algorithm

type: string
Default: https
Importance: low
Dynamic update: per-broker

使用服务器证书验证服务器主机名的端点标识算法。

ssl.engine.factory.class

type: class
Default: null
Importance: low
Dynamic update: per-broker

用于提供 SSLEngine 对象的 org.apache.kafka.common.security.auth.SslEngineFactory 类型的类。默认值为 org.apache.kafka.common.security.ssl.DefaultSslEngineFactory。

ssl.principal.mapping.rules

type: string
Default: DEFAULT
Importance: low
Dynamic update: read-only

用于从客户端证书到短名称的可分辨名称的规则列表。规则按顺序评估,第一个匹配主体名称的规则用于将其映射到短名称。列表中的任何后续规则都会被忽略。默认情况下,区分 X.500 证书的名称将是主体。有关格式的更多详细信息,请参阅安全 授权和 acl。请注意,如果 principal.builder.class 配置提供了 KafkaPrincipalBuilder 扩展,则此配置将被忽略。

ssl.secure.random.implementation

type: string
Default: null
Importance: low
Dynamic update: per-broker

用于 SSL 加密操作的 SecureRandom PRNG 实现。

transaction.abort.timed.out.transaction.cleanup.interval.ms

type: int
Default: 10000 (10 秒)
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

回滚超时事务的时间间隔。

transaction.remove.expired.transaction.cleanup.interval.ms

type: int
Default: 3600000 (1 小时)
Valid Values: [1,…​]
Importance: low
Dynamic update: read-only

删除因为 transactional.id.expiration.ms 传递而过期的事务的时间间隔。

zookeeper.ssl.cipher.suites

type: list
Default: null
Importance: low
Dynamic update: read-only

指定 ZooKeeper TLS 协商(csv)中使用的启用的密码套件。覆盖通过 zookeeper.ssl.ciphersuites 系统属性明确设置的值(注意单个单词 "ciphersuites")。默认值 null 表示启用的密码套件列表由使用的 Java 运行时决定。

zookeeper.ssl.crl.enable

type: boolean
Default: false
Importance: low
Dynamic update: read-only

指定是否在 ZooKeeper TLS 协议中启用证书撤销列表。覆盖通过 zookeeper.ssl.crl 系统属性设置的任何显式值(请注意较短的名称)。

zookeeper.ssl.enabled.protocols

type: list
Default: null
Importance: low
Dynamic update: read-only

指定 ZooKeeper TLS 协商(csv)中启用的协议。覆盖通过 zookeeper.ssl.enabledProtocols 系统属性设置的任何显式值(请注意 camelCase)。默认值 null 表示启用的协议将是 zookeeper.ssl.protocol 配置属性的值。

zookeeper.ssl.endpoint.identification.algorithm

type: string
Default: HTTPS
Importance: low
Dynamic update: read-only

指定是否在 ZooKeeper TLS 协商过程中启用主机名验证,使用(不区分大小写)"https"表示 ZooKeeper 主机名验证已启用,并明确的空白值代表禁用它(禁用测试)。显式值覆盖通过 zookeeper.ssl.hostnameVerification 系统属性设置的任何 "true" 或 "false" 值(请注意不同的名称和值;true 表示 https 和 false 表示空白)。

zookeeper.ssl.ocsp.enable

type: boolean
Default: false
Importance: low
Dynamic update: read-only

指定是否在 ZooKeeper TLS 协议中启用在线证书状态协议。覆盖通过 zookeeper.ssl.ocsp 系统属性设置的任何显式值(请注意较短的名称)。

zookeeper.ssl.protocol

type: string
Default: TLSv1.2
Importance: low
Dynamic update: read-only

指定 ZooKeeper TLS 协商中使用的协议。显式值覆盖通过同名 zookeeper.ssl.protocol 系统属性设置的任何值。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部