附录 A. 代理配置参数
advertised.host.name
type: string
Default: null
Importance: high
Dynamic update: read-only
DEPRECATED:仅在未设置
advertised.listeners
或listeners
时使用。使用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.listeners
或listeners
时使用。使用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
代理机架.这将用于机架感知复制分配容错。示例:
RACK1
、us-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
定义消息中的时间戳是消息创建时间还是日志附加时间。该值应该是
CreateTime
或LogAppendTime
。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.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
使用带有 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 领导者后面的程度。