【发布时间】:2021-03-26 14:37:45
【问题描述】:
我正在使用 confluent,所以我根据 confluent 文档安装了 dibezium 连接器,在 connect.properties 中使用 confluent-hub 我确实有条目
plugin.path=/usr/share/java,/opt/confluent-6.0.0/share/confluent-hub-components
我需要使用 io.debezium.transforms.ContentBasedRouter https://debezium.io/documentation/reference/1.3/configuration/content-based-routing.html
所以根据我下载的 debezium 文档debezium-scripting-1.3.1.Final.jar
并将其放入
/opt/confluent-6.0.0/share/confluent-hub-components/ 并将其复制到
/opt/confluent-6.0.0/share/confluent-hub-components/debezium-debezium-connector-sqlserver/lib 目录
这里是我的 mysql_src.json 连接器中的条目
"transforms": "unwrap,route",
"transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState",
"transforms.unwrap.add.fields": "source.snapshot",
"transforms.route.type": "io.debezium.transforms.ContentBasedRouter",
"transforms.route.language": "jsr223.groovy",
"transforms.route.topic.expression": "value.__source_snapshot == 'false' ? 'test'"
当我尝试配置/加载此连接器时,我收到以下错误消息
[2020-12-15 22:18:45,351] ERROR [Worker clientId=connect-1, groupId=connect-cluster] Failed to reconfigure connector's tasks, retrying after backoff: (org.apache.kafka.connect.runtime.distributed.DistributedHerder:1369)
java.lang.NoClassDefFoundError: io/debezium/DebeziumException
有什么建议可以解决这个问题吗?
【问题讨论】:
-
您是否按照以下步骤操作:获取 JSR-223 脚本引擎实现并将其内容添加到您的 Kafka Connect 环境的 Debezium 插件目录中。?
-
将 debezium-scripting-1.3.1.Final.jar 复制到 /usr/share/java 相同的错误消息
-
您需要同时安装 debezium-scripting-1.3.1.Final.jar 和 JSR-223 脚本引擎实现(例如,对于 Groovy 3,您可以从 groovy-lang.org/. 下载其 JSR 223 实现)
-
我假设 debezium-scripting-1.3.1.Final.jar 具有所有必要的组件。你能指出我正确的文档/示例如何吗?
-
来自文档:debezium.io/documentation/reference/1.3/configuration/… - 请检查步骤 1 和 3。
标签: apache-kafka-connect debezium