Может ли kafka соединиться с interbase с помощью JDBC-коннектора interclient.jar с использованием конфлюентной платформы - PullRequest
0 голосов
/ 12 декабря 2018

Возможно ли подключение kafka к базе данных interbase с использованием interclient.jar.Я не могу подключить его в системе убунду, даже после помещения его в нужную папку.
Это моя команда POST для создания соединителя.

 curl -X POST -H "Content-Type: application/json"  --data "{ \"name\": \"ib_connector\",\"config\": { \"connector.class\": \"io.confluent.connect.jdbc.JdbcSourceConnector\", \"tasks.max\": 1,\"connection.url\": \"jdbc:interbase://remoteip:3050/TEST2.gdb?user=SYSDBA&password=masterkey\",\"mode\": \"timestamp+incrementing\", \"incrementing.column.name\": \"id\",\"timestamp.column.name\": \"modified\", \"topic.prefix\": \"test-interbase-\", \"poll.interval.ms\": 1000 } }" http://localhost:8083/connectors. 

Я поместил соединитель JDBC interclient.jarфайл в /usr/share/java/kafka-connect-jdbc.

В docker-compose.yml путь к плагину установлен как CONNECT_PLUGIN_PATH:'/usr/share/java,/etc/kafka-connect/jars'.

У меня также есть файл .env, в котором KAFKA_CONNECT_JARS_PATH=/usr/share/java/kafka-connect-jdbc/ и CLASS_PATH=usr/share/java/kafka-connect-jdbc/.

Я получаю следующее сообщение об ошибке.

{"error_code":400,"message":"Connector configuration is invalid and contains the following 2 error(s):\nInvalid value java.sql.SQLException: No suitable driver found for jdbc:interbase://remoteip:3050/TEST2?user=SYSDBA&password=masterkey for configuration Couldn't open connection to jdbc:interbase://remoteip:3050/TEST2?user=SYSDBA&password=masterkey\nInvalid value java.sql.SQLException: No suitable driver found for jdbc:interbase://remoteip:3050/TEST2?user=SYSDBA&password=masterkey

1 Ответ

0 голосов
/ 12 декабря 2018

Если вы используете Docker, то размещение JAR на вашей локальной файловой системе в /usr/share/java не заставит Docker поднять его без сопоставления тома.Чтобы избежать путаницы, я бы предложил переместить ваши файлы хоста в другое место.

KAFKA_CONNECT_JARS_PATH также ничего не значит для образа Confluent Docker.

Создайте какой-нибудь другой локальный каталог локально.Поместите туда JAR-файл JDBC, затем добавьте том в файл Compose, чтобы указать местоположение подключения JDBC в контейнере

volumes:
  - /path/to/your_folder:/usr/share/java/kafka-connect-jdbc/lib:ro

Где ls /path/to/your_folder показывает драйвер JDBC, который вы хотите использовать, и если выЕсли у вас установлена ​​Java, вы можете запустить jar -tf /path/to/your_folder/example.jar, чтобы убедиться, что в этом файле пытается быть загружен класс драйвера JDBC.

Эта установка сработала в моем репо , когда я попробовал драйвер MSSQL JDBC

...