5.2. config
使用 config
属性将 Kafka 代理选项配置为密钥。
这些值可以是以下 JSON 类型之一:
- 字符串
- Number
- 布尔值
例外
您可以指定并配置 Apache Kafka 文档 中列出的选项。
但是,Apache Kafka 的流负责配置和管理与以下内容相关的选项,而这无法更改:
- 安全性(加密、身份验证和授权)
- 侦听器配置
- 代理 ID 配置
- 配置日志数据目录
- Inter-broker 通信
- ZooKeeper 连接
无法设置具有以下前缀的属性:
-
advertised.
-
授权者.
-
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,包括对 Apache Kafka 的 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 # ...