Kafka-Connect добавляет файл SQL JAR в путь к классам

Я пытаюсь развернуть автономное задание подключения для потоковой передачи с сервера mssql, однако столкнулся с проблемой (Kafka-Connect является частью моего развертывания Ambari, а не докером). Это файл свойств, который я использую:

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

Я добавил файл jarsqljdbc42.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

Я что-то делаю не так или могу еще что-нибудь проверить?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
1 507
4

Ответы 4

Вам необходимо включить jar-файл kafka-connect-jdbc, который содержит класс io.confluent.connect.jdbc.JdbcSourceConnector.

Если вы используете maven, вы можете добавить его как зависимость:

[Add the following repo to your project if you haven't done so yet.]

<repository>
  <id>confluent</id>
  <url>http://packages.confluent.io/maven/</url>
</repository>

After this, add the following dependency:

<dependency>
    <groupId>io.confluent</groupId>
    <artifactId>kafka-connect-jdbc</artifactId>  
    <version>3.3.0 (or whatever version you want)</version>
</dependency>

https://github.com/confluentinc/kafka-connect-jdbc/issues/356

Поэтому мне просто нужно использовать intellij, добавить их в pom.xml, а затем развернуть банку в usr / share / java?

Phil Baines 29.05.2018 23:13

Вы процитировали то, как построить проект, а не как его развернуть. Другими словами, нет другого проекта, который можно было бы «добавить зависимости» к

OneCricketeer 02.06.2018 00:55

Kafka-Connect is part of my Ambari deployment

Это означает, что вы используете установку Hortonworks.

Тебе надо

  1. git clone https://github.com/confluentinc/kafka-connect-jdbc/
  2. Найдите ветку выпуска, которая идеально соответствует вашей версии Kafka. Например ветка v3.1.2 - это Кафка 0.10.1.1
  3. mvn clean package сгенерирует несколько папок в target/ этого проекта.
  4. SCP эти файлы для всех рабочих Kafka Connect в вашем кластере в /usr/hdp/current/kafka/.../share/java/kafka-connect-jdbc (создайте это, если не существует)
  5. Перезапустите процессы Kafka, чтобы получить новые настройки CLASSPATH.

Вам могут понадобиться дополнительные пакеты Confluent, от которых зависит подключение JDBC.

Я столкнулся с той же проблемой, я решил ее, запустив connect-standalone в корневой папке confluent, в моем случае это было: /opt/confluent-5.0.1

У меня тоже была такая же проблема. с коннектором Couchbase не найден

ОШИБКА Остановка после ошибки соединителя (org.apache.kafka.connect.cli.ConnectStandalone: ​​113) java.util.concurrent.ExecutionException: org.apache.kafka.connect.errors.ConnectException: не удалось найти какой-либо класс, реализующий соединитель и который имя совпадает с com.couchbase.connect.kafka.CouchbaseSourceConnector

Установка пути к классам теряла существующий путь к классам, и я не мог добавить в качестве пути к классам Я переместил требуемый файл jar из файлов kafka-connect-couchase / *. Jar в / path / kafka_verison / libs / libs - это папка, в которой хранятся все файлы jar.

Другие вопросы по теме