Я использую Kafka connect для создания соединения MQTT Kafka. Я помещаю все jar-файлы, специфичные для коннектора kafka MQTT, загруженные с конфлюентного сайта, в папку «/ data». И соответственно обновите файл «connect-standalone.properties», чтобы отразить путь к плагину, т.е.
plugin.path=/opt/kafka_2.11-2.1.1/libs,/data
Когда я запускаю Kafka Connect
./connect-standalone.sh ../config/connect-standalone.properties ../config/connect-mqtt-source.properties
Я получаю следующую ошибку:
[2019-07-18 10: 26: 05,823] ИНФОРМАЦИЯ Загрузка плагина из: /data/kafka-connect-mqtt-1.2.1.jar (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader: 220) [2019 -07-18 10: 26: 05,829] ОШИБКА Остановка из-за ошибки (org.apache.kafka.connect.cli.ConnectStandalone: 128) java.lang.NoClassDefFoundError: com / github / jcustenborder / kafka / connect / utils / VersionUtil at io.confluent.connect.mqtt.MqttSourceConnector.version (MqttSourceConnector.java:29) в org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.versionFor (DelegatingClassLoader.java:344)
снимок экрана, как показано ниже:
Обратите внимание, что «connect-utils-0.3.140.jar» находится в папке «/ data», как выделено красным подчеркиванием.
Теперь, если я сделаю снимок экрана с мягкой ссылкой ниже или скопирую все банки из папки «/ data» и обновлю путь к плагину до:
plugin.path=/opt/kafka_2.11-2.1.1/libs
Kafka connect отлично работает.
Любая помощь, почему он не работает в первом сценарии, то есть конкретные jar-файлы коннектора kafka в разных папках