5.2. config
使用 config 属性将 Kafka 代理选项配置为密钥。
这些值可以是以下 JSON 类型之一:
- 字符串
- Number
- 布尔值
例外
您可以指定并配置 Apache Kafka 文档 中列出的选项。
但是,AMQ Streams 会负责配置和管理与以下内容相关的选项,这无法更改:
- 安全性(加密、身份验证和授权)
- 侦听器配置
- 代理 ID 配置
- 配置日志数据目录
- Inter-broker 通信
- ZooKeeper 连接
无法设置具有以下前缀的属性:
-
公告. -
授权者. -
Broker。 -
controller -
cruise.control.metrics.reporter.bootstrap. -
cruise.control.metrics.topic -
host.name -
inter.broker.listener.name -
侦听器. -
监听器. -
log.dir -
密码。 -
端口 -
process.roles -
SASL。 -
安全性。 -
servers,node.id -
ssl. -
super.user -
zookeeper.clientCnxnSocket -
zookeeper.connect -
zookeeper.set.acl -
zookeeper.ssl
如果 config 属性包含一个无法更改的选项,它将被忽略,并将警告信息记录到 Cluster Operator 日志文件。所有其他支持选项都转发到 Kafka,包括对 AMQ Streams 配置的选项的以下例外:
-
支持的 TLS 版本和密码套件的任何
ssl配置 -
zookeeper.connection.timeout.ms属性的配置,以设置建立 ZooKeeper 连接的最大时间 Cruise Control 指标属性:
-
cruise.control.metrics.topic.num.partitions -
cruise.control.metrics.topic.replication.factor -
cruise.control.metrics.topic.retention.ms -
cruise.control.metrics.topic.auto.create.retries -
cruise.control.metrics.topic.auto.create.timeout.ms -
cruise.control.metrics.topic.min.insync.replicas
-
控制器属性:
-
controller.quorum.election.backoff.max.ms -
controller.quorum.election.timeout.ms -
controller.quorum.fetch.timeout.ms
-
Kafka 代理配置示例
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
name: my-cluster
spec:
kafka:
# ...
config:
num.partitions: 1
num.recovery.threads.per.data.dir: 1
default.replication.factor: 3
offsets.topic.replication.factor: 3
transaction.state.log.replication.factor: 3
transaction.state.log.min.isr: 1
log.retention.hours: 168
log.segment.bytes: 1073741824
log.retention.check.interval.ms: 300000
num.network.threads: 3
num.io.threads: 8
socket.send.buffer.bytes: 102400
socket.receive.buffer.bytes: 102400
socket.request.max.bytes: 104857600
group.initial.rebalance.delay.ms: 0
zookeeper.connection.timeout.ms: 6000
# ...