

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将源连接器迁移到 Amazon MSK Connect
迁移源连接器

源连接器是将记录从外部系统导入 Kafka 的 Apache Kafka Connect 应用程序。本节介绍将本地运行的 Apache Kafka Connect 源连接器应用程序迁移到亚马逊 MSK Connect 的过程，或者将运行的自管理 Kafka Connect 集群迁移到 Amazon Amazon MSK Connect。

Kafka Connect 源连接器应用程序将偏移量存储在一个主题中，该主题以为配置属性 `offset.storage.topic` 设置的值命名。以下是 JDBC 连接器的示例偏移量消息，该连接器运行两个任务，从名为 `movies` 和 `shows` 的两个不同表中导入数据。从表 movies 导入的最新行的主 ID 为 `18343`。从 shows 表导入的最新行的主 ID 为 `732`。

```
["jdbcsource",{"protocol":"1","table":"sample.movies"}] {"incrementing":18343}
["jdbcsource",{"protocol":"1","table":"sample.shows"}] {"incrementing":732}
```

要将源连接器迁移到 Amazon MSK Connect，请执行以下操作：

1. 通过从本地或自行管理的 Kafka Connect 集群中提取连接器库来创建 Amazon MSK Connect [自定义插件](https://docs.amazonaws.cn/msk/latest/developerguide/msk-connect-plugins.html)。

1. 创建 Amazon MSK Connect [工作程序属性](https://docs.amazonaws.cn/msk/latest/developerguide/msk-connect-config-provider.html#msk-connect-config-providers-create-custom-config)，并将属性 `key.converter`、`value.converter` 和 `offset.storage.topic` 设置为与为现有 Kafka Connect 集群中运行的 Kafka 连接器设置的值相同的值。

1. 通过在现有 Kafka Connect 集群上发出 `PUT /connectors/connector-name/pause` 请求来暂停现有集群上的连接器应用程序。

1. 确保所有连接器应用程序的任务都已完全停止。您可以通过在现有 Kafka Connect 集群上发出 `GET /connectors/connector-name/status` 请求或使用来自为属性 `status.storage.topic` 设置的主题名称的消息来停止任务。

1. 从现有集群获取连接器配置。您可以通过在现有集群上发出 `GET /connectors/connector-name/config/` 请求或使用来自为属性 `config.storage.topic` 设置的主题名称的消息来获取连接器配置。

1. 创建与现有集群同名的新 [Amazon MSK 连接器](https://docs.amazonaws.cn/msk/latest/developerguide/msk-connect-connectors.html)。使用您在步骤 1 中创建的连接器自定义插件、在步骤 2 中创建的 Worker 属性和在步骤 5 中提取的连接器配置来创建此连接器。

1. 当 Amazon MSK 连接器状态为 `active` 时，请查看日志以验证连接器是否已开始从源系统导入数据。

1. 通过发出 `DELETE /connectors/connector-name` 请求来删除现有集群中的连接器。