2.3. 在 Red Hat Enterprise Linux 上使用 AMQ Streams 部署 Debezium
这个步骤描述了如何在 Red Hat Enterprise Linux 中为 Debezium 设置连接器。连接器使用 Apache Kafka Connect 部署到 AMQ Streams 集群,它是一个在 Apache Kafka 和外部系统间流传输数据的框架。Kafka Connect 必须以分布式模式而不是独立模式运行。
先决条件
要在支持的配置中部署 Debezium 运行 Red Hat Enterprise Linux、AMQ Streams 和 Java 的 主机环境。
- 有关如何安装 AMQ Streams 的详情,请参考 安装 AMQ Streams。
- 有关如何安装包含单个 ZooKeeper 节点的基本、非生产环境 AMQ Streams 集群以及单个 Kafka 节点的详情,请参阅 运行单个节点 AMQ Streams 集群。
如果您运行的 AMQ Streams 的早期版本,您必须首先升级到 AMQ Streams 2.1。有关升级过程的详情,请参考 AMQ Streams 和 Kafka 升级。
流程
- 从 Red Hat Integration 下载站点下载 您要使用的 Debezium 连接器或连接器。例如,要将 Debezium 与 MySQL 数据库搭配使用,请下载 Debezium 1.9.5 MySQL Connector。
在您部署了 AMQ Streams 的 Red Hat Enterprise Linux 主机上,打开终端窗口并在
/opt/kafka中创建一个连接器目录,如果它尚不存在:sudo mkdir /opt/kafka/connector-plugins
$ sudo mkdir /opt/kafka/connector-pluginsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令来提取您下载到
/opt/kafka/connector-plugins目录的 Debezium 连接器存档的内容。sudo unzip debezium-connector-mysql-1.9.5.Final.zip -d /opt/kafka/connector-plugins
$ sudo unzip debezium-connector-mysql-1.9.5.Final.zip -d /opt/kafka/connector-pluginsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于您要安装的每个连接器,重复步骤 1 -3。
在终端窗口中以
kafka用户身份登录:su - kafka Password:
$ su - kafka $ Password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 Kafka Connect 进程正在运行,则停止它。
输入以下命令检查 Kafka Connect 是否在分布式模式下运行:
jcmd | grep ConnectDistributed
$ jcmd | grep ConnectDistributedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果进程正在运行,命令会返回进程 ID,例如:
18514 org.apache.kafka.connect.cli.ConnectDistributed /opt/kafka/config/connect-distributed.properties
18514 org.apache.kafka.connect.cli.ConnectDistributed /opt/kafka/config/connect-distributed.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用进程 ID 输入
kill命令停止进程,例如:kill 18514
$ kill 18514Copy to Clipboard Copied! Toggle word wrap Toggle overflow
编辑
/opt/kafka/config/中的connect-distributed.properties文件,并将plugin.path的值设置为 Debezium 连接器插件的父目录位置:plugin.path=/opt/kafka/connector-plugins
plugin.path=/opt/kafka/connector-pluginsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在分布式模式下启动 Kafka 连接。
/opt/kafka/bin/connect-distributed.sh /opt/kafka/config/connect-distributed.properties
$ /opt/kafka/bin/connect-distributed.sh /opt/kafka/config/connect-distributed.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Kafka Connect 运行后,使用 Kafka Connect API 注册连接器。
输入curl命令,提交POST请求,将您在 第 2.2 节 “规划 Debezium 连接器配置” 中指定的连接器配置 JSON 发送到localhost:8083/connectors的 Kafka Connect REST API 端点。
例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要注册多个连接器,请为每个连接器提交一个单独的请求。
重启 Kafka Connect 以实施您的更改。
当 Kafka Connect 启动时,它会从
connector-plugins目录载入配置的 Debezium 连接器。完成配置后,部署的连接器连接到源数据库,并为每个插入、更新或删除的行或文档生成事件。
- 为每个 Kafka 连接 worker 节点重复步骤 5-10。
后续步骤
验证部署。
其他资源