首页 > 解决方案 > 适用于 Oracle 的 Debezium 连接器 - 未在桌面上获取新项目或更新

问题描述

背景:我已经在 AWS Kubernetes 上安装了一个带有融合 helm 图表的 Kafka 集群。

我已经配置了一个 Oracle 服务器,所以我可以使用 Kafka Connect 连接到它。

我的 Kafka 连接配置

{
    "name": "oracle-debez",
    "config": {
        "connector.class" : "io.debezium.connector.oracle.OracleConnector",
        "tasks.max" : "1",
        "database.server.name" : "servername",
        "database.hostname" : "myserver",
        "database.port" : "1521",
        "database.user" : "myuser",
        "database.password" : "mypass",
        "database.dbname" : "KAFKAPOC",
        "database.out.server.name" : "dbzxout",
        "database.history.kafka.bootstrap.servers" : "mybrokersvc:9092",
        "database.history.kafka.topic": "my-conf-topic",
        "table.include.list": "MYSCHEMA.MYTABLE",
        "database.oracle.version": 11,
        "errors.log.enable": "true"
    }
}

我以这种方式配置并创建了一些主题:

my-conf-topic:自带表 DDL servername servername.MYSCHEMA.MYTABLE

在“kafka-poc-dev.MYSCHEMA.MYTABLE”主题中是表中的所有信息。

当我启动插件时,所有信息都成功保存!但问题是每个新的插入或更新都不会出现在主题上。

还有一件事,我的oracle不是版本11,我的版本是Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production,但是如果我不把属性“database.oracle.version”:11,它给我的错误:

"org.apache.kafka.connect.errors.ConnectException: 更改事件生产者发生异常。此连接器将被停止。\n\tat io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:42)\n \tat io.debezium.connector.oracle.xstream.XstreamStreamingChangeEventSource.execute(XstreamStreamingChangeEventSource.java:82)\n\tat io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:140)\n\tat io.debezium。 pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:113)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\n\tat java.base/java .util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat d.java:834)\ n 原因:oracle.streams.StreamsExa:343)\n\tat io.debezium.connector.oracle.xstream.XstreamStreamingChangeEventSource.execute(XstreamStreamingChangeEventSource.java:70)\n\t... 7 更多\n"

有人可以帮我理解我在这里做错了什么吗?

现在,当我创建连接器时,表被锁定......并且数据没有到达主题......

表被锁定

谢谢!

标签: apache-kafkaapache-kafka-connectdebezium

解决方案


我面临着类似的问题,但目前正在使用LogMiner adapter.

初始快照和流式传输工作正常,但如果我向 Kafka Connect 添加更多连接器以监控不同的表和模式,则无法获得更多更新/插入事件。

一切都停止了工作,即使我可以看到 LogMiner 会话仍然处于活动状态。

您是否启用了Golden Gate复制和存档日志模式?

关于database.oracle.version您面临的问题,您应该只使用此处提到的默认值:

https://debezium.io/documentation/reference/connectors/oracle.html#oracle-property-database-oracle-version

"database.oracle.version" : "12+"

发布作为答案,因为我还不能发表评论。

希望它能以某种方式帮助你。


推荐阅读