1.6. 支持停止运行连接器
现在,您可以停止 Kafka Connect 或 Kafka MirrorMaker 2 连接器。与暂停状态相比,连接器和任务保持实例化,当只停止连接器的配置但实际上没有运行时。从运行停止连接器可能更适合长时间,而不是只暂停。暂停的连接器会加快恢复速度,但已停止的连接器可以释放内存和资源。
KafkaConnectorSpec 模式和 KafkaMirrorMaker2ConnectorSpec 模式的 pause 属性已弃用。相反,两个模式现在都包含一个新的 state 属性。state 属性允许您配置以下值之一: 运行、暂停 和停止。
对 MirrorMaker 2 的支持 有一个已知问题。这个问题将在 AMQ Streams 的下一个发行版本中解决。
例如,如果要停止 Kafka Connect 连接器资源,您可以将 状态更改为 在配置中 停止。
停止 Kafka Connect 连接器的配置示例
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnector
metadata:
name: my-source-connector
labels:
strimzi.io/cluster: my-connect-cluster
spec:
class: org.apache.kafka.connect.file.FileStreamSourceConnector
tasksMax: 2
config:
file: "/opt/kafka/LICENSE"
topic: my-topic
state: stopped
# ...
停止 Kafka MirrorMaker 2 连接器的配置示例
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaMirrorMaker2
metadata:
name: my-mirror-maker2
spec:
version: 3.6.0
replicas: 3
connectCluster: "my-cluster-target"
clusters:
# ...
mirrors:
- sourceCluster: "my-cluster-source"
targetCluster: "my-cluster-target"
sourceConnector:
tasksMax: 10
autoRestart:
enabled: true
state: stopped
# ...
此功能至少需要 Kafka 3.5.x 才能工作。只有 pause 操作可以和旧版 Kafka 一起工作。
使用以下 REST 端点,Kafka Connect REST API (没有启用 KafkaConnector Operator 时)也支持停止和暂停操作:
-
PUT /connectors/<connector_name>/stop -
PUT /connectors/<connector_name>/pause
PUT /connectors/<connector_name>/resume 请求重启已停止并暂停的连接器。
请参阅 KafkaConnectorSpec 模式参考 和 KafkaMirrorMaker2ConnectorSpec 模式参考。