附录 A. 代理配置参数


advertised.host.name

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

DEPRECATED:仅在未设置 advertised.listenerslisteners 时使用。使用 advertised.listeners 相反。要发布到 ZooKeeper 的主机名,供客户端使用。在 IaaS 环境中,这可能需要与代理绑定的界面不同。如果没有设置此项,它将使用 host.name 的值(如果已配置)。否则,它将使用 java.net.InetAddress.getCanonicalHostName()返回的值。

advertised.listeners

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

发布到 ZooKeeper 的监听程序供客户端使用(如果与 listeners 配置属性不同)。在 IaaS 环境中,这可能需要与代理绑定的界面不同。如果没有设置此项,将使用 listeners 的值。与 listeners 不同,公告 0.0.0.0 元地址无效。另外,listeners 也可能会在这个属性中存在重复的端口,以便可以配置一个监听器来公告另一个监听器的地址。在某些情况下,这可在使用外部负载平衡器的情况下使用。

advertised.port

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

DEPRECATED:仅在未设置 advertised.listenerslisteners 时使用。使用 advertised.listeners 相反。要发布到 ZooKeeper 的端口,供客户端使用。在 IaaS 环境中,这可能需要与代理绑定的端口不同。如果未设置此项,它将发布代理绑定到的同一端口。

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: -1
Importance: high
Dynamic update: read-only

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

compression.type

type: string
Default: producer
Importance: high
Dynamic update: cluster-wide

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

control.plane.listener.name

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

用于控制器和代理之间通信的监听程序名称。代理将使用 control.plane.listener.name 在监听器列表中查找来自控制器的连接。例如,如果代理的配置是 : listens = INTERNAL://192.1.1.8:9092, EXTERNAL://10.1.1.5:9093, CONTROLLER://192.1.1.8:9094 listen.security.protocol.map = INTERNAL:PLAINTEXT, EXTERNAL:SSL、COTROLLER:SSL control.plane.listener.name = 启动时 CONTROLLER,代理将使用安全协议"SSL"开始侦听 "192.1.1.8:9094"。在控制器方面,当它通过 zookeeper 发现代理发布的端点时,它将使用 control.plane.listener.name 来查找端点,它将用于建立与代理的连接。例如,如果 zookeeper 上代理发布的端点为 : "endpoints" : ["INTERNAL://broker1.example.com:9092","EXTERNAL://broker1.example.com:9093","CONTROLLER://broker1.example.com: 9094"] 和控制器的配置是 : listen.security.protocol.map = INTERNAL:PLAINTEXT, EXTERNAL:SSL、COTROLLER:SSL control.plane.listener.name = CONTROLLER = CONTROLLER,然后控制器将使用"broker1.example.com:9094"及安全协议"SSL"连接到代理。如果没有明确配置,则默认值将为空,并且没有控制器连接的专用端点。

delete.topic.enable

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

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

host.name

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

DEPRECATED:仅在未设置 listeners 时使用。使用 listeners。代理的主机名。如果设置此设置,它将仅绑定到此地址。如果未设置此项,它将绑定到所有接口。

leader.imbalance.check.interval.seconds

type: long
Default: 300
Importance: high
Dynamic update: read-only

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

leader.imbalance.per.broker.percentage

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

每个代理允许的领导力比例。如果每个代理超过这个值,控制器会触发领导平衡。该值以百分比为单位指定。

listeners

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

监听器列表 - 将侦听的 URI 列表和监听器名称.如果监听程序名称不是安全协议,则必须设置 listener.security.protocol.map。侦听器名称和端口号必须是唯一的。将 hostname 指定为 0.0.0.0,以绑定到所有接口。将主机名留空以绑定到默认接口。法律监听器列表示例: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 中消息在刷新到磁盘之前保存在内存中的最大时间(以 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: -1
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(小时)中减小到 log.roll.jitter.ms 属性的最大 jitter。

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 配置为每个主题设置。

min.insync.replicas

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

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

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

用于从源代理复制消息的获取程序线程数量。增加这个值可以增加后续代理中的 I/O 并行程度。

offset.metadata.max.bytes

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

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

offsets.commit.required.acks

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

接受提交前所需的 ack。通常,默认(-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

在将偏移负载到缓存时从偏移段读取的批处理大小(如果记录过大,则为软限制,覆盖)。

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

在消费者组丢失其所有消费者(即变为空)后,其偏移将保留在这个保留周期内,然后再被丢弃。对于独立消费者(使用手动分配),偏移将在上次提交时间后过期,加上此保留期限。

offsets.topic.compression.codec

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

偏移主题的压缩编码器 - 压缩可用于实现"原子"提交。

offsets.topic.num.partitions

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

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

offsets.topic.replication.factor

type: 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

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

port

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

DEPRECATED:仅在未设置 listeners 时使用。而是使用 listeners。侦听和接受连接的端口。

queued.max.requests

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

在阻断网络线程前,对 data-plane 允许的排队请求数。

quota.consumer.default

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

DEPRECATED:仅在没有为 <user、<client-id> 或 <user 配置动态默认配额时使用,即 Zookeeper 中的 client-id>。由 clientId/consumer 组区分的任何消费者如果获取的字节数超过每秒此值,则会被限流。

quota.producer.default

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

DEPRECATED:仅在没有为 <user>、<client-id> 或 <user 配置 Zookeeper 中的 client-id> 时才会使用动态默认配额。任何由 clientId 区分的制作者,如果每秒生成超过这个值的字节数,则会被节流。

replica.fetch.min.bytes

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

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

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

配置控制客户端等待请求响应的最大时间。如果在超时前未收到响应,客户端将在必要时重新发送请求,或者在重试结束时失败请求。

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 和事务加载到缓存时从事务日志片段读取的批量大小(如果记录过大,则为软限制,覆盖)。

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

type: 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 到期 - 在上次使用给定制作者 ID 写入后,制作者 id 就会过期。请注意,如果由于主题的保留设置而从制作者 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 连接字符串,其中主机和端口是 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.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

将客户端设置为使用安全 ACL.

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

代理机架.这将用于机架感知复制分配容错。示例: RACK1us-east-1d

connections.max.idle.ms

type: long
Default: 600000(10 minutes)
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.socket.timeout.ms

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

控制器到代理通道的套接字超时。

default.replication.factor

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

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

delegation.token.expiry.time.ms

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

令牌的有效时间(以微秒为单位),然后需要续订令牌。默认值为 1 天.

delegation.token.master.key

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

DEPRECATED: delegate.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

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

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 分钟)
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

注册消费者允许的最小会话超时。超时时间短会导致以更频繁的消费者心态检测速度更快的故障检测,而这可能会使代理资源过大。

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: 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]
Importance: medium
Dynamic update: read-only

指定将使用哪个版本的 Inter-roker 协议。这通常在所有代理都升级到新版本后中断。例如: 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.0、0.9.0.1 Check ApiVersion(完整列表)。

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

用于在所有精炼线程间重复数据删除的总内存。

log.cleaner.delete.retention.ms

type: long
Default: 86400000(1 天)
Importance: medium
Dynamic update: cluster-wide

删除记录的时长是多久?

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.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: Media
Dynamic update: cluster-wide

日志清理将被限流,因此读取和写入 i/o 的总和将平均小于这个值。

log.cleaner.max.compaction.lag.ms

type: long
Default: 9223372036854775807
Importance: medium
Dynamic update: cluster-wide

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

log.cleaner.min.cleanable.ratio

type: double
Default: 0.5
Importance: medium
Dynamic update: cluster-wide

脏日志与日志总数的最低比率,符合清理条件。如果还指定了 log.cleaner.max.compaction.lag.ms 或 log.cleaner.min.compaction.lag.ms 配置,则日志紧凑器会在满足以下条件时立即考虑进行压缩的日志条件:(i)脏比率阈值,并且日志已至少包括 log.cleaner.min.compaction.lag.ms 持续时间, 如果大多数 log.cleaner.max.compaction.lag.ms 周期为,或(ii)记录为脏(不编译)记录。

log.cleaner.min.compaction.lag.ms

type: long
Default: 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

保留窗口之外的部分的默认清理策略。有效策略的逗号分隔列表。有效的策略为:"删除"和"compact"。

log.index.interval.bytes

type: int
Default: 4096(4kibibytes)
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: 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]
Importance: medium
Dynamic update: read-only

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

log.message.timestamp.difference.max.ms

type: long
Default: 9223372036854775807
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 分钟)
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 范围连接速率限制应该根据代理容量进行配置,而监听器限制应该根据应用程序要求进行配置。如果达到监听器或代理限制,则新连接将被限流,但代理间监听程序除外。只有在达到监听器级别的速率限制时,才会对代理间侦听器上的连接进行限流。

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 )来配置监听器级别的限制。代理范围限制应该根据代理容量进行配置,而监听器限制则应根据应用程序要求来配置。如果达到监听器或代理限制,则新连接会被阻止。即使达到代理范围限制,也允许代理间侦听器上的连接。在这种情况下,其他侦听器最近使用的连接将关闭。

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

以逗号分隔的每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 进行解码,并在代理启动时使用 password.encoder.secret 重新编码。

password.encoder.secret

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

此代理用于编码动态配置的密码的 secret。

principal.builder.class

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

实施 KafkaPrincipalBuilder 接口的类的完全限定名称,用于构建授权期间使用的 KafkaPrincipal 对象。此配置还支持弃用的 PrincipalBuilder 接口,之前用于通过 SSL 进行客户端身份验证。如果没有定义主体构建器,默认行为取决于使用中的安全协议。对于 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

生产者请求清除的时间间隔(以请求数为单位)。

queued.max.request.bytes

type: long
Default: -1
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

每个分区要尝试获取的消息字节数。如果获取的第一个非空分区中的第一个记录批处理大于此值,则仍会返回记录批处理以确保进度。代理接受的最大记录批处理大小通过 message.max.bytes (broker config)或 max.message.bytes (主题配置)定义。

replica.fetch.response.max.bytes

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

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

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: media
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}。有关格式的更多详细信息,请参阅 安全授权和 acls。请注意,如果 principal.builder.class 配置提供了 KafkaPrincipalBuilder 的扩展,则忽略此配置。

sasl.kerberos.service.name

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

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

sasl.kerberos.ticket.renew.jitter

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

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

sasl.kerberos.ticket.renew.window.factor

type: double
Default: 0.8
Importance: media
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

实施登录接口的类的完全限定名称。对于代理,登录配置必须加上监听器前缀和 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: Media
Dynamic update: per-broker

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

sasl.login.refresh.window.factor

type: double
Default: 0.8
Importance: media
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: media
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.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。

security.inter.broker.protocol

type: string
Default: PLAINTEXT
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 秒)
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

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

ssl.cipher.suites

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

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

ssl.client.auth

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

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

  • ssl.client.auth=required 如果需要设置为所需的客户端身份验证,则需要将其设置为所需的客户端身份验证。
  • ssl.client.auth=requested 这意味着客户端身份验证是可选的。与必需不同,如果将此选项设置为客户端,则可以选择不提供有关自身的身份验证信息
  • ssl.client.auth=none 这意味着不需要客户端身份验证。
ssl.enabled.protocols

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

为 SSL 连接启用的协议列表。使用 Java 11 或更新版本运行时,默认为 'TLSv1.2,TLSv1.3',否则为 '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 连接的算法。默认值为为 Java 虚拟机配置的关键管理器工厂算法。

ssl.keystore.certificate.chain

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

以 'ssl.keystore.type" 指定的格式的证书链。默认 SSL 引擎工厂仅支持 PEM 格式及 X.509 证书列表。

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.protocol

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

用于生成 SSLContext 的 SSL 协议。使用 Java 11 或更新版本运行时,默认为 'TLSv1.3',否则为 'TLSv1.2'。这个值应该适用于大多数用例。最近 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 连接的算法。默认值为为 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

信任存储文件的文件格式。

zookeeper.clientCnxnSocket

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

当使用 TLS 到 ZooKeeper 时,通常设置为 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.suiteszookeeper.ssl.crl.enablezookeeper.ssl.enabled.protocolszookeeper.ssl.endpoint.identification.algorithmzookeeper.ssl.keystore.locationzookeeper.ssl.keystore.passwordzookeeper.ssl.keystore.typezookeeper.ssl.ocsp.enablezookeeper.ssl.protocolzookeeper.ssl.truststore.locationzookeeper.ssl.truststore.passwordzookeeper.ssl.truststore.type

zookeeper.ssl.keystore.location

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

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

zookeeper.ssl.keystore.password

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

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

zookeeper.ssl.keystore.type

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

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

zookeeper.ssl.truststore.location

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

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

zookeeper.ssl.truststore.password

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

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

zookeeper.ssl.truststore.type

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

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

alter.config.policy.class.name

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

更改应用于验证的配置策略类。该类应当实施 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

用于更改日志 dir 复制配额的每个示例的时间范围。

authorizer.class.name

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

实施 sorg.apache.kafka.server.authorizer.Authorizer 接口的类的完全限定名称,供代理用于授权。此配置还支持实施已弃用的 kafka.security.auth.Authorizer 特征的授权程序(之前用于授权)。

client.quota.callback.class

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

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

connection.failed.authentication.delay.ms

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

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

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

创建应用于验证的主题策略类。该类应当实施 org.apache.kafka.server.policy.CreateTopicPolicy 接口。

delegation.token.expiry.check.interval.ms

type: long
Default: 3600000(1 hour)
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 特征。如果客户希望在自定义报告器上公开 JMX 操作,自定义报告人员还需要实施扩展 kafka.metrics.KafkaMetricsReporterMBean 特征的 MBean 特征,以便注册的 MBean 符合标准 MBean 规则。

listener.security.protocol.map

type: 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)。

log.message.downconversion.enable

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

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

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 秒)
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

用于对动态配置的密码进行编码的加密算法。

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。

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

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

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

kind org.apache.kafka.common.security.auth.SslEngineFactory 的类型,以提供 SSLEngine 对象。Default value is org.apache.kafka.common.security.ssl.DefaultSslEngineFactory.

ssl.principal.mapping.rules

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

从客户端证书到短名称的映射规则列表。规则按顺序评估,第一个与主体名称匹配的规则用于将其映射到短名称。之后的任何规则都将被忽略。默认情况下,X.500 证书的可分辨名称将是主体。有关格式的更多详细信息,请参阅 安全授权和 acls。请注意,如果 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 hour)
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 系统属性设置的任何显式值(请注意单个单词"密码")。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 系统属性设置的任何值。

zookeeper.sync.time.ms

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

ZK 追随者在 ZK 领导者后面的程度。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.