无法找到任何实现 Connector 且名称与 io.debezium.connector.mysql.MySqlConnector 匹配的类,可用的连接器有

2024-05-19

使用 Kafka、MySQL 和 Debezium 设置数据流管道。我是这个版本的 Kafka - 3.4.0、MySQL - 8、Debezium - 2.2.1、Java - 11。目标:我想从 MySQL 捕获所有 CDC 并将数据流式传输到 Kafka 主题。

如果已执行以下步骤:

  1. 下载 Kafka - 3.4.0 并解压并保存在以下路径中:/home/divum/kafka-all/kafka_2.13-3.4.0

  2. 下载 Debezium - 2.2.1 并解压。这是它的路径:/usr/local/share/kafka/plugins/debezium-connector-mysql

  3. 添加了这一行plugin.path=/usr/local/share/kafka/plugins/debezium-connector-mysql在文件中连接分布式属性它存在于该路径中:/home/divum/kafka-all/kafka_2.13-3.4.0/config.

  4. 我有 MySql 和 Debezium 配置,如下所示。还启用了二进制日志。文件名为connector-config.json,位于此路径中/home/divum/kafka-all/kafka_2.13-3.4.0.

{  "name": "etl-connector",
  "config": {

"connector.class":"io.debezium.connector.mysql.MySqlConnector",    
"tasks.max": 1,
    "database.hostname": "localhost",
    "database.port": 3306,
    "database.user": "root",
    "database.password": "iphone21",
    "topic.prefix": "stream",
    "database.server.id": 4816,
    "database.include.list": "etl",
    "table.include.list": ".*",
    "column.include.list": ".*",
    "include.schema.changes": false,
    "database.server.name": "mysql",
    "tombstones.on.delete": false,
    "database.history.kafka.bootstrap.servers": "localhost:9092",
    "database.history.kafka.topic": "history",

"plugin.path":"/usr/local/share/kafka/plugins/debezium-connector-mysql"

  }
}

  1. 我使用此命令来启动代理、动物园管理员和连接器。
Zookeeper -  bin/zookeeper-server-start.sh config/zookeeper.properties
Kafka Broker - bin/kafka-server-start.sh config/server.properties
Connector - bin/connect-distributed.sh ./config/connect-distributed.properties
  1. 检查连接器插件卷曲 --location --request GET 'http://localhost:8083/connector-plugins'。得到以下输出。
[
    {
        "class": "org.apache.kafka.connect.mirror.MirrorCheckpointConnector",
        "type": "source",
        "version": "3.4.0"
    },
    {
        "class": "org.apache.kafka.connect.mirror.MirrorHeartbeatConnector",
        "type": "source",
        "version": "3.4.0"
    },
    {
        "class": "org.apache.kafka.connect.mirror.MirrorSourceConnector",
        "type": "source",
        "version": "3.4.0"
    }
]
  1. 尝试使用此命令启动连接器 **curl -X POST -H "Content-Type: application/json" --data @connector-config.json http://localhost:8083/connectors** 并出现以下错误。是这样说的io.debezium.connector.mysql.MySqlConnector课程不可用。
{"error_code":500,"message":"Failed to find any class that implements Connector and which name matches io.debezium.connector.mysql.MySqlConnector, available connectors are: PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorCheckpointConnector, name='org.apache.kafka.connect.mirror.MirrorCheckpointConnector', version='3.4.0', encodedVersion=3.4.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorHeartbeatConnector, name='org.apache.kafka.connect.mirror.MirrorHeartbeatConnector', version='3.4.0', encodedVersion=3.4.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorSourceConnector, name='org.apache.kafka.connect.mirror.MirrorSourceConnector', version='3.4.0', encodedVersion=3.4.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.MockSinkConnector, name='org.apache.kafka.connect.tools.MockSinkConnector', version='3.4.0', encodedVersion=3.4.0, type=sink, typeName='sink', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.MockSourceConnector, name='org.apache.kafka.connect.tools.MockSourceConnector', version='3.4.0', encodedVersion=3.4.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.SchemaSourceConnector, name='org.apache.kafka.connect.tools.SchemaSourceConnector', version='3.4.0', encodedVersion=3.4.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.VerifiableSinkConnector, name='org.apache.kafka.connect.tools.VerifiableSinkConnector', version='3.4.0', encodedVersion=3.4.0, type=sink, typeName='sink', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.VerifiableSourceConnector, name='org.apache.kafka.connect.tools.VerifiableSourceConnector', version='3.4.0', encodedVersion=3.4.0, type=source, typeName='source', location='classpath'}"}
  1. Command Used : **bin/connect-distributed.sh ./config/connect-distributed.properties **. Getting this logs. image-1 image-2 image-3 image-4 iamge-5 image-6

  2. Plugin scan logs: 1 2 3 4 5 6

我过去几天尝试设置但无法做到这一点。这个错误的原因是什么?知道如何解决吗?

Debezium 有开源替代品吗?


问题是 debezium 连接器未加载。当您运行 GET 时/connector-plugins,您应该会看到一个 Debezium 条目。

步骤 2 之后,尝试将 debezium 工件(可能是一个 jar)移动到 Kafka 插件目录中,而不是更改plugin.path如步骤 3 所示。检查以下内容article https://docs.confluent.io/kafka-connectors/self-managed/install.html#install-connector-manually来自汇流。

当您进行到步骤 6 时,您需要通过创建一个来注册连接器POST请求于http://localhost:8083/connectors具有以下有效负载:

{
    "name": "<some-unique-name>",
    "config": {
        "connector.class": "io.debezium.connector.mysql.MySqlConnector",
        "database.hostname": "<>",
        "database.port": "<>",
        "database.user": "<>",
        "database.password": "<>",
        "database.server.name": "<>",
        "database.server.id": <>,
        "database.include.list": "<>",
        "table.include.list": "<>",
        "database.history.kafka.bootstrap.servers": "<kafka-url>",
        "database.history.kafka.topic": "<result-topic-name>",
        "topics": "<result-topic-name>"
    }
}

Follow 文档 https://docs.confluent.io/kafka-connectors/debezium-mysql-source/current/mysql_source_connector_config.html#debezium-mysql-source-connector-configuration-properties进行正确的设置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法找到任何实现 Connector 且名称与 io.debezium.connector.mysql.MySqlConnector 匹配的类,可用的连接器有 的相关文章

随机推荐

  • 如何纠正 data.frame 上的字符编码

    我有一个像这样的数据框 data names lt data frame DATA c 1 5 rownames data names lt c IV xc1N JOS xc9 LUC xcdA RAM xd3N TO xd1O data
  • PostgreSQL 错误 42501:架构权限被拒绝

    我正在 ASP NET 中构建一个用户注册系统 使用 PostgreSQL 数据库来维护用户信息 作为注册过程的一部分 用户会收到一条确认消息 他们必须单击其中的链接来验证其电子邮件地址 然后 他们将进入一个可以创建密码的页面 一旦用户提供
  • PHP 正则表达式匹配字符串的最后一次出现

    我的字符串是 text1 A373R12345 我想找到该字符串最后出现的非数字数字 所以我使用这个正则表达式 0 9 然后我得到这个结果 1 A373 2 12345 但我的预期结果是 1 A373R 它有 R 2 12345 另一个例子
  • 在视图控制器之间传递数据使用从嵌入导航控制器的视图到 tabbarcontroller 的 Segue

    我有两个视图 我想将数据从一个视图传递到下一个视图 第一个视图是我想要传递给下一个视图的数据的地方 我们称之为SourceViewController 然而SourceViewController嵌入在一个NavigationViewCon
  • Django:重写表单中的 clean() 方法 - 关于引发错误的问题

    我一直在 clean 方法中做这样的事情 if self cleaned data type organized by self cleaned data organized by raise forms ValidationError T
  • JavaScript 的事件常量?

    在 Javascript 中我有这样的代码 document addEventListener mousedown mouseDownHandler 有时我可能会发胖手指 document addEventListener mouzedow
  • 获取今天的科普特日期

    我正在寻找获取今天的科普特日期与任何代码类型类似php or javascript在我的网站标题中显示科普特日期 我需要阿拉伯语或英语版本 我试图找到它 但没有找到类似的英文内容 参考 http www copticchurch net e
  • Logcat不断显示消息

    我不知道出了什么问题 我的 logcat 已经困扰我两天了 当设备连接到测试时 尽管我不运行我的应用程序 但 logcat 会不断发出消息 如果我运行我的应用程序 我无法在如此大量的数据中找到我的应用程序日志 有人可以建议我避免这种情况 以
  • 如何从 Artifactory 存储库下载最新的工件?

    我需要来自存储库的最新工件 例如快照 人工工厂 http en wikipedia org wiki Software repository Repository managers 该工件需要通过脚本复制到服务器 Linux 我有什么选择
  • 如何在 Android 中以编程方式选择或突出显示 TextView?

    目前 我正在创建一个用于阅读的小应用程序 有一个文本视图来显示文本 我们可以为文本添加书签并存储在列表视图中 我想从列表视图中单击 它会突出显示或选择文本视图中的书签索引 我可以得到bookmark index 有没有类似的方法textvi
  • 连接到 OpenShift (Redhat Paas) mysql 实例

    我正在尝试将我的 C 应用程序与 openshift 数据库连接 但我得到了这个例外conn Open Eccezione gt MySql Data MySqlClient MySqlException 0x80004005 Unable
  • 优化 python for 循环

    下面是两个简单计算 一种是Python 另一种是Java public class prime public static void main String args int n Integer parseInt args 0 int np
  • 如何更改codeception phpbrowser/mink超时

    我正在尝试使用代码接收创建测试 以检查页面在高负载的情况下是否正常工作 不幸的是 如果页面负载非常高并且测试开始 我会收到这样的错误 Codeception Exception ModuleConfig Codeception Util M
  • CPU 周期与总 CPU 时间

    在 Windows 上 GetProcessTimes 和 QueryProcessCycleTime 可用于获取应用程序所有线程的总计 我期望 显然是天真地 找到总周期数和总处理器时间 用户 内核 之间的比例关系 当转换为相同的单位 秒
  • C++从文件中读取整数并保存到数组中

    我正在制作一个仅从文本文件读取整数的程序 我想创建一个读取整数并将它们存储在数组中的函数 以便稍后可以使用该数组通过冒泡排序对它们进行排序 这是我到目前为止所得到的 但我得到的输出是一些随机的 803234 数字 void read int
  • 如何处理最终字符串?

    制作有什么好处吗String as final或者我们可以做String as final 我的理解是 由于 String 是不可变的 因此没有必要将其设为最终的 这是正确的还是人们想要的情况String as Final Code pri
  • 什么时候使用Task,什么时候使用Thread?

    我刚刚问了有关任务的问题 但意识到我实际上想问更一般的问题 有人可以总结一下任务和线程的优缺点吗 如何理解应该使用任务还是线程 Task是一个以异步方式编程执行某些操作的命令 这Thread实际上是OS内核对象executes要求什么 想一
  • 如何更改 LongListMultiSelector 中的 CheckBox 和 CheckBox 勾号的颜色? WP8

    是否可以更改 LongListMultiSelector 中的复选框和复选框勾选的颜色 我已经尝试过乔治 尼古拉德斯的解决方案 但我无法达到我所需要的 还有其他方法可以做到这一点吗 请问有人可以更详细地解释一下吗 如果它是可能的 提前致谢
  • 无法使用 OpenSSL 验证服务器证书

    我已经使用 OpenSSL 编写了一个 SOAP 客户端 在 Ubuntu 12 04 上用 C 编写 但它目前无需检查服务器安全证书即可运行 这是我用来设置连接和检查证书的函数 bool bInitialiseSSL SSL CTX ct
  • 无法找到任何实现 Connector 且名称与 io.debezium.connector.mysql.MySqlConnector 匹配的类,可用的连接器有

    使用 Kafka MySQL 和 Debezium 设置数据流管道 我是这个版本的 Kafka 3 4 0 MySQL 8 Debezium 2 2 1 Java 11 目标 我想从 MySQL 捕获所有 CDC 并将数据流式传输到 Kaf