java - Kafka-Connect 添加 SQL JAR 文件到类路径

标签 java apache-kafka apache-kafka-connect

我正在尝试部署一个连接独立作业以从 mssql 服务器流式传输,但是我遇到了一个问题(Kafka-Connect 是我的 Ambari 部署的一部分,而不是 docker)。这是我正在使用的属性文件:

name=JdbcSourceConnector
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
connection.user=ue
connection.password=pw
tasks.max=1
connection.url=jdbc:sqlserver://servername
topic.prefix=iblog
query=SELECT * FROM IB_WEBLOG_DUMMY_small
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter=org.apache.kafka.connect.json.JsonConverter
poll.interval.ms=5000
table.poll.interval.ms=120000
mode=incrementing
incrementing.column.name=ID

我已将jar 文件sqljdbc42.jar 添加到/usr/share/java 并运行 export CLASSPATH=/usr/share/java/*

但是我仍然遇到错误 Failed to find any class that implements Connector and which name matches io.confluent.connect.jdbc.JdbcSourceConnector

我做错了什么或者我可以检查其他东西吗?

最佳答案

Kafka-Connect is part of my Ambari deployment

这意味着您正在使用 Hortonworks 安装

你需要

  1. git clone https://github.com/confluentinc/kafka-connect-jdbc/
  2. 检查与您的 Kafka 版本完美匹配的发布分支。例如分支 v3.1.2Kafka 0.10.1.1
  3. mvn clean package 会在该项目的target/中生成一些文件夹
  4. 将这些文件 SCP 到集群中的所有 Kafka Connect worker 到 /usr/hdp/current/kafka/.../share/java/kafka-connect-jdbc(创建这个,如果没有存在)
  5. 重新启动 Kafka 进程以获取新的 CLASSPATH 设置

您可能需要一些额外的 JDBC 连接所依赖的 Confluent 包

关于java - Kafka-Connect 添加 SQL JAR 文件到类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50576199/

相关文章:

postgresql - 出现异常 : "replication slot "XXX"is active for PID XXX`"on deploying service on kubernetes with RollingUpdate deployment strategy

java - 如何将对象 ArrayList 中的项目添加到 JList。

kotlin - 当我使用多个流时,Kafka Streams StreamsException

spring - Kafka Consumer 在 Spring Boot 中没有收到消息

java - 如何在docker内部获取kafka的解析网络?

apache-kafka - 有没有办法直接将 Amazon MSK Topic 转储到 S3?

ssl - DataStax 接收器连接器 (kafka-connect-dse) 抛出 javax.net.ssl.SSLException : SSLEngine closed already

java - 如何在ajax中解析Json对象

java - 我需要一个用于 Java 的快速 key 替换算法

java - Android Retrofit 的烦恼