apache-kafka - Kafka Connect JDBC Sink 连接器:找不到类加载器
问题描述
在一个带有标签 5.4.1 的包中使用 Confluent Docker;我正在努力让 jdbc 接收器连接器启动并运行。
当我启动以下连接器时:
{
"name": "mySink",
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"topics": [
"myTopic"
],
"connection.url": "jdbc:sqlserver://sqlserver:1433;databaseName=myDB",
"connection.user": "user",
"connection.password": "**********",
"dialect.name": "SqlServerDatabaseDialect",
"insert.mode": "insert",
"table.name.format": "TableSink",
"pk.mode": "kafka",
"fields.whitelist": [
"offset",
"value"
],
"auto.create": "true"
}
(编辑了一些属性)
我从连接容器中得到以下异常:
ERROR Plugin class loader for connector: 'io.confluent.connect.jdbc.JdbcSinkConnector' was not found.
我有以下用于连接的环境变量:
CONNECT_PLUGIN_PATH: "/usr/share/java,/usr/share/confluent-hub-components"
如果我签入容器,我有:
/usr/share/java/kafka-connect-jdbc
使用以下文件:
./jtds-1.3.1.jar
./common-utils-5.4.0.jar
./slf4j-api-1.7.26.jar
./kafka-connect-jdbc-5.4.0.jar
./postgresql-9.4.1212.jar
./sqlite-jdbc-3.25.2.jar
./mssql-jdbc-8.2.0.jre8.jar
./mssql-jdbc-8.2.0.jre13.jar
./mssql-jdbc-8.2.0.jre11.jar
我对基本连接映像所做的唯一更改是 mssql jdbc 驱动程序。这些对于 jdbc 源连接器工作正常。
根据要求提供的额外信息:
输出来自curl -s localhost:8083/connector-plugins|jq '.[].class'
"io.confluent.connect.activemq.ActiveMQSourceConnector"
"io.confluent.connect.elasticsearch.ElasticsearchSinkConnector"
"io.confluent.connect.gcs.GcsSinkConnector"
"io.confluent.connect.ibm.mq.IbmMQSourceConnector"
"io.confluent.connect.jdbc.JdbcSinkConnector"
"io.confluent.connect.jdbc.JdbcSourceConnector"
"io.confluent.connect.jms.JmsSourceConnector"
"io.confluent.connect.s3.S3SinkConnector"
"io.confluent.connect.storage.tools.SchemaSourceConnector"
"io.confluent.kafka.connect.datagen.DatagenConnector"
"org.apache.kafka.connect.file.FileStreamSinkConnector"
"org.apache.kafka.connect.file.FileStreamSourceConnector"
"org.apache.kafka.connect.mirror.MirrorCheckpointConnector"
"org.apache.kafka.connect.mirror.MirrorHeartbeatConnector"
"org.apache.kafka.connect.mirror.MirrorSourceConnector"
docker-compose 来自: https ://github.com/confluentinc/examples/tree/5.4.1-post/cp-all-in-one
图片:
confluentinc/cp-ksql-cli:5.4.1
confluentinc/cp-enterprise-control-center:5.4.1
confluentinc/cp-ksql-server:5.4.1
cnfldemos/cp-server-connect-datagen:0.2.0-5.4.0
confluentinc/cp-kafka-rest:5.4.1
confluentinc/cp-schema-registry:5.4.1
confluentinc/cp-server:5.4.1
confluentinc/cp-zookeeper:5.4.1
解决方案
推荐阅读
- scheduled-tasks - 没有服务器的 Knime Windows 调度程序任务
- java - 在java中为类变量添加值的优雅方法
- grep - 如何grep至少一个字符和双斜杠
- javascript - 通过 onclick 事件在 JPlayer 上播放歌曲
- javascript - Angular 7将数据添加到http请求的结果
- php - 使用 Laravel 使用另一个表中的数据从下拉列表中插入表
- mysql - 列出属于 mysql 中数据库的操作 - (SHOW PROCESSLIST)
- doctrine-orm - 在多对一关系中保持实体而不创建新的链接实体
- eclipse - 从 WSDL 文件或 WAR 文件中恢复原始项目
- javascript - 如何推送具有特定状态集的数据?