【问题标题】:ClassNotFoundException with Kafka Connect MQTT connectorClassNotFoundException 与 Kafka Connect MQTT 连接器
【发布时间】:2020-08-26 05:33:52
【问题描述】:

我正在尝试使用 kafka connect 订阅 mqtt 主题,为此我使用了此连接器:https://github.com/johanvandevenne/kafka-connect-mqtt。我按照那里描述的步骤进行了一些修改,一切似乎都有效。但是,当我启动连接器时,我得到一个ClassNotFoundException(屏幕截图)并且连接器停止。它似乎来自 IMqttMessageListener 但我不知道如何解决这个问题。

关于我能做什么的任何想法?

这是我的源文件:

connector.class : be.jovacon.kafka.connect.MQTTSourceConnector
mqtt.broker : tcp://localhost:1883
mqtt.clientID: 1
mqtt.topic : test
kafka.topic: timestamp
key.converter:org.apache.kafka.connect.storage.StringConverter
key.converter.schemas.enable:false
value.converter:org.apache.kafka.connect.storage.StringConverter
value.converter.schemas.enable:false

【问题讨论】:

    标签: java apache-kafka mqtt apache-kafka-connect


    【解决方案1】:

    您需要将/target/kafka-connect-mqtt-1.0-0-package/share/kafka-connect-mqtt 复制到您的plugin.path,您可以在worker's configuration file 中找到您的配置。

    将 JAR 复制到 plugin.path 后,确保重新启动 Kafka Connect。


    有关如何安装 Connect 插件的更多详细信息,请参阅Confluent's Documentation。

    【讨论】:

    • 你重启了 Kafka Connect 了吗?
    • @panador 那就是问题所在。您如何运行 Kafka Connect?
    • 我搜索了重新启动连接的方法,但找不到任何不涉及融合的内容。为了运行 Kafka Connect,我输入 connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties
    • @panador 运行 ps -ef | grep connect-standalone 并找到 Kafka Connect 的进程 ID。最后通过运行kill -9 processId 杀死它。并使用connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties 重新启动它。
    • 现在试了一下,当我运行ps -ef | grep connect-standalone 并想终止我得到bash: kill: (8117) - No such process 的进程时。我注意到每当我运行第一个命令时 processId 都会发生变化。
    【解决方案2】:

    需要将目录/kafka-connect-mqtt/target/kafka-connect-mqtt-1.1.0-package/kafka-connect-mqtt/下的6个jar包全部复制。您的路径可能与您所关注的存储库的自述文件中提到的路径不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-13
      • 2018-11-30
      • 2019-06-17
      • 2020-08-05
      • 2018-08-20
      • 2019-04-24
      • 2020-01-15
      • 2019-07-15
      相关资源
      最近更新 更多