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

带有TimescaleDB扩展的Debezium连接器

管杜吟
2023-03-14

设置:

我安装了Postresql(11.10版)和TimescaleDB(1.7.1版)扩展。我有2个表,我想用安装在Kafka Connect上的Debezium(ver1.3.1)连接器监视它们,目的是CDC(捕获数据更改)。

表是table1和table2hyper,但table2hyper是hypertable。

在Kafka Connect中创建Debezium连接器后,我可以看到创建了2个主题(每个表一个):

  • (A)kconnect.public.table1
  • (B)KConnect.Public.Table2Hyper

当使用主题A的kafka-console-consumer消费消息时,我可以在表1中看到行更新后的消息。

但是当使用来自主题B的消息(table2hyper table changes)时,在例如table2hyper table中的行更新之后不会发出任何消息。

Initialy Debezium connector对table2hyper表中的行执行快照,并将它们发送到主题B(当使用kafka-console-consumer时,我可以看到主题B中的消息),但在初始快照后所做的更改不会发出。

为什么我无法从Table2Hyper中看到后续更改(在初始快照之后)?

连接器创建负载:

{
    "name": "alarm-table-connector7",
    "config": {
        "connector.class": "io.debezium.connector.postgresql.PostgresConnector",
        "tasks.max": "1",
        "database.hostname": "xxx",
        "database.port": "5432",
        "database.user": "xxx",
        "database.password": "xxx",
        "database.dbname": "xxx",
        "database.server.name": "kconnect",
        "database.whitelist": "public.dev_db",
        "table.include.list": "public.table1, public.table2hyper",
        "plugin.name": "pgoutput",
        "tombstones.on.delete":"true",
        "slot.name": "slot3",
        "transforms": "unwrap",
        "transforms.unwrap.type":"io.debezium.transforms.ExtractNewRecordState",
        "transforms.unwrap.drop.tombstones":"false",
        "transforms.unwrap.delete.handling.mode":"rewrite",
        "transforms.unwrap.add.fields":"table,lsn,op"
    }
}

提前Thx!

共有1个答案

姚信鸥
2023-03-14

尝试了一段时间后,我没有成功地用Debezium连接器从超表流式传输数据。我使用的是1.3.1版本。并升级至最新版本1.4.1。帮不上忙。

不过,我确实成功地使用了汇流JDBC连接器。

就我的研究和测试而言,这是结论,如果有必要,请随时纠正我:

    null
 类似资料:
  • 我怎样组合桌子。包括列表和列。包括如果需要快照一个表的一部分和另一个表的完整数据,请在Debezium连接器配置中列出? 连接器配置示例: 有了这些,我得到了Kafka表格1的所有栏目。 只管理如何使用不同的连接器来完成。 我想使用一个连接器获取表2中的所有列和表1中的两列,可以吗?

  • 我正在尝试使用Debezium将Amazon RDS中托管的Postgres SQL db与Kafka主题连接起来。 我正在遵循以下教程: 我的kafka和kafka connect服务启动良好,kafka connect服务还在/usr/share/java dir中接收我的debezium postgres连接器jar。 但是,在尝试通过kafka connect API使用以下curl命令附

  • 我想使用Kafka发布MSSQL CDC事件。 我将Docker容器用于: null 所有容器开始成功运行。 然后我在SQL Server容器中创建了新的MSSQL数据库。在新数据库中创建了1个表,并为该表打开了CDC。疾控中心运作良好。 然后我将下面的连接器配置发送到Kafka Connect REST API,如下所示: com.microsoft.sqlserver.jdbc.sqlserv

  • 下面是场景。 我有我的网络应用程序 所以这里的IDP Prxy是:http://idpproxydev.devs1.int:8080/openam 国内流离失所者网址是:http://idpdev.devs1.int:80/openam 我的网络应用程序是:http://ocr-jq0zt91.devs1.int:9081/LOS 我开始使用 http://static.springsource.

  • 我尝试将扩展添加到我的/(基于linux alpine)映像中: 尝试创建扩展时,出现以下错误: 但当我搜索容器中的文件时,我可以在不同的目录中找到它们: 如何安装到不同的目录或配置来识别我添加的扩展? 最新消息 当我只是的文件到我得到的错误: 更新2 因此,的问题是,指向但是在中。当我将所有内容移动到相应的目录时,我可以成功创建扩展。 这就引出了我希望找到答案的问题。如何将安装到

  • 我有一个现有的2个kafka服务器加载了mysql连接器。它起作用了。此外,我需要添加MongoDB连接器。我已经在我的Kafka服务器(Centos7)上安装了confluent schema registry,它可以工作,我停止/启动/重新启动,看起来没有什么问题。我在这里下载并提取了debezium Mongo插件/usr/连接器/插件/debezium连接器mongodb/ 我编辑了 /e