当前位置: 首页 > 知识库问答 >
问题:

Debezium kafka connect连接器未成功更新

鄂伟兆
2023-03-14

我正在尝试使用Debezium和kafka。我已经在table.whitelist属性中注册了一个包含3个表的连接器,并且它正常工作。下面是运行连接器的配置。

{"name":"xoom-eds-extactor","config":{"connector.class":"io.debezium.connector.mysql.MySqlConnector","database.user":"debezium","database.server.id":"1","database.hostname":"qa514dtc001.ord.qa001.xoom.com","database.password":"xoom123","database.history.kafka.bootstrap.servers":"eds-kafka1:9092","database.history.kafka.topic":"dbhistory.inventory","name":"xoom-eds-extactor","database.server.name":"MySQL-Database-Docker","database.port":"3306","include.schema.changes":"true","table.whitelist":"xoom_eds_extraction_src_db_mock.postal_code_mock,xoom_eds_extraction_src_db_mock.account_number_mock,xoom_eds_extraction_src_db_mock.credit_card_number_mock,xoom_eds_extraction_src_db_mock.ip_address_details_mock,xoom_eds_extraction_src_db_mock.university_details_mock"},"tasks":[{"connector":"xoom-eds-extactor","task":0}],"type":"source"}

命令:

curl -X PUT -H "Content-Type: application/json" --data @xoom-eds-extactor-conf.json "http://eds-kafka1:8083/connectors/xoom-eds-extactor/config"

配置json:

{
   "name":"xoom-eds-extactor",
   "connector.class":"io.debezium.connector.mysql.MySqlConnector",
   "database.hostname":"qa514dtc001.ord.qa001.xoom.com",
   "database.port":"3306",
   "database.user":"debezium",
   "database.password":"xoom123",
   "database.server.id":"1",
   "database.server.name":"MySQL-Database-Docker",
   "database.history.kafka.bootstrap.servers":"eds-kafka1:9092",
   "database.history.kafka.topic":"dbhistory.inventory",
   "include.schema.changes":"true",
"table.whitelist":"xoom_eds_extraction_src_db_mock.postal_code_mock,xoom_eds_extraction_src_db_mock.account_number_mock,xoom_eds_extraction_src_db_mock.credit_card_number_mock,xoom_eds_extraction_src_db_mock.ip_address_details_mock,xoom_eds_extraction_src_db_mock.university_details_mock"
}

这将成功执行,但当我列出Kafka主题时,只有最后3个主题出现,2个新的主题没有添加。

MySQL-Database-Docker
MySQL-Database-Docker.xoom_eds_extraction_src_db_mock.account_number_mock
MySQL-Database-Docker.xoom_eds_extraction_src_db_mock.credit_card_number_mock
MySQL-Database-Docker.xoom_eds_extraction_src_db_mock.postal_code_mock
__consumer_offsets
connect-configs
connect-offsets
connect-status
dbhistory.inventory

共有1个答案

相诚
2023-03-14

据我所知,有一个旧的未决PR与此问题相关,它应该在0.9.1版本中修复。但如果您使用的是旧版本,您可以简单地按照以下步骤操作。

  • 添加新表,但暂不写入
  • 关闭连接器
  • 更改筛选器配置并将快照模式设置为“schema_only_recovery”
  • 删除(或重命名)现有数据库历史记录主题
  • 重新启动连接器;这将重新创建DB架构的内部历史记录,然后继续从先前记录的偏移量进行流式传输
  • 开始写入新表

至少这是我们所做的(我们仍在使用0.8.2)。

资料来源:Debezium-Google-Group。

 类似资料:
  • 我正在尝试使用mysqli函数将一些数据插入到表中。 我的连接使用以下功能可以正常工作: 但当我尝试运行insert函数时,数据库中什么也得不到。 我一直在查看mysqli函数列表,寻找正确的错误方法,但它们似乎都与DB的连接有关,而不是与插入成功有关(而且我可以在我的DB中清楚地看到它没有插入。) 最好的调试方法是什么?我应该对插入使用哪种错误处理? 我尝试使用mysqli_sqlstate,它

  • 我已经部署了一个nginx容器,并且公开了端口8080:80,但是当我执行curl localhost:8080时,我会得到“recv failure:连接由peer重置”。我已经允许端口8080的入站规则允许入站流量通过容器。

  • MyAlertDialog在尝试将上下文设置为侦听器时抛出ClassCastException。我正在从片段调用MyAlertDailog。 我正在使用在android开发文档中找到的指南。 https://developer.android.com/guide/topics/ui/dialogs#PassingEvents 我的片段 MyAlertDialog 错误报告

  • 我试图通过Homebrew安装node.js。不幸的是,我得到了这个错误: 然后我尝试手动链接节点... 运气不好,所以我试着强行连接节点... 我对dtrace在任何方面都不熟悉,我害怕弄乱权限,所以我尝试了sudo。。 我尝试通过卸载节点并重试安装,但没有运气。

  • 问题内容: 我有一个试图连接到wifi网络的小程序。如果是第一次连接到某些网络,它将在设备上启用wifi。它将加载设备wifi,以便选择并添加用于连接的密码。直到我添加密码以连接程序才应该完成。如何添加一些内容,直到从连接的wifi管理器获取信息?我尝试入睡,但是它冻结了应用程序,无法连接到wifi弹出菜单?还有其他方法吗? 问题答案: 一个月前,我已经找到解决您问题的方法,只需在其中使用Thre

  • 在我的composer.json我更新了以下行: 当我调用