如何为 mysql 数据库创建多个 Debezium 连接器

Posted

技术标签:

【中文标题】如何为 mysql 数据库创建多个 Debezium 连接器【英文标题】:How to create multiple Debezium connectores for mysql database 【发布时间】:2021-08-24 03:54:24 【问题描述】:

我正在尝试为一个mysql数据库连接多个Debezium连接器,我的配置如下。

sudo docker run -it --name zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 debezium/zookeeper:1.5  &

sudo docker run -it --name kafka -p 9092:9092 --link zookeeper:zookeeper debezium/kafka:1.5 &

sudo docker run -it --name connect -p 8083:8083 -e GROUP_ID=1 -e CONFIG_STORAGE_TOPIC=my_connect_configs -e OFFSET_STORAGE_TOPIC=my_connect_offsets -e STATUS_STORAGE_TOPIC=my_connect_statuses --link zookeeper:zookeeper --link kafka:kafka debezium/connect:1.5 &

sudo docker run -it --name connect1 -p 8084:8084 -e GROUP_ID=1 -e CONFIG_STORAGE_TOPIC=my_connect_configs -e OFFSET_STORAGE_TOPIC=my_connect_offsets -e STATUS_STORAGE_TOPIC=my_connect_statuses --link zookeeper:zookeeper --link kafka:kafka debezium/connect:1.5 &

但是当我尝试运行第二个连接器时...发生以下错误。

ERRO[0000] error waiting for container: context canceled 

谁能帮帮我。

【问题讨论】:

请根据互联网分享更多日志,错误消息只是症状/最后一句话,您应该事先有更明确的错误消息 您尝试过更改 GROUP_ID 吗? kafka-connect 的标准端口也是 8083,所以用这条线更改第二个 kafka-connect sudo docker run -it --name connect1 -p 8084:8083 -e GROUP_ID=2 -e CONFIG_STORAGE_TOPIC=my_connect_configs -e OFFSET_STORAGE_TOPIC=my_connect_offsets -e STATUS_STORAGE_TOPIC=my_connect_statuses --link zookeeper:zookeeper --link kafka:kafka debezium/connect:1.5 & 【参考方案1】:

您没有运行任何连接器,只有工作人员的容器。

一个 Kafka Connect 工作器可用于通过 HTTP 服务器在端口 8083 上提交多个连接器任务


关于显示的命令,您不需要多个容器,除非您尝试创建 Connect 工作集群

为此,他们需要相同的主题和相同的组 ID。

您还需要-p 8084:8083,因为您没有更改服务器端口。此外,您可以使用docker run -d,而不是使用&,但在这里使用Docker Compose 会更有意义

【讨论】:

首先,非常感谢您回答我的问题...尝试为一张表创建一个连接器任务...我尝试过...它有效,但是当我尝试使用相同的用不同的表配置...它不会工作.. @SteaveJones 请在问题中分享您的连接器配置。 @SteaveJones 我不知道你的 mysql 容器在哪里运行,所以 1) 默认情况下,Docker 无法访问主机进程。如果它在另一个容器中,您还需要--link mysql 容器 2)您没有显示您的连接器配置或来自容器的任何日志,以便我们真正回答某个连接器的具体问题

以上是关于如何为 mysql 数据库创建多个 Debezium 连接器的主要内容,如果未能解决你的问题,请参考以下文章

如何为mysql中的现有表创建索引?

如何为 MySQL 中的多个列指定唯一约束?

如何为完成端口创建多个线程?

如何为多个数据源创建/配置 Spring Actuator?

如何为 windows 的 firebird 数据库创建多个实例(用户)?

如何为对象计数多个关系创建谓词?核心数据 iOS Swift