Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka kafka connect file pulse connector standalone无法启动(在偏移管理器上未找到类异常)_Apache Kafka_Apache Kafka Connect - Fatal编程技术网

Apache kafka kafka connect file pulse connector standalone无法启动(在偏移管理器上未找到类异常)

Apache kafka kafka connect file pulse connector standalone无法启动(在偏移管理器上未找到类异常),apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,我想使用filepulse连接器将xml文件加载到kafka 以下是我的环境: plugin.path=/user/share/java,/home/min/streamthoughts-kafka-connect-file-pulse-1.5.2 # plugin.path=/usr/share/java,/home/min/confluent-5.5.1/share/java/kafka-connect-jdbc Win10WSL,已安装Ubuntu 下载了confluent platf

我想使用filepulse连接器将xml文件加载到kafka

以下是我的环境

plugin.path=/user/share/java,/home/min/streamthoughts-kafka-connect-file-pulse-1.5.2
# plugin.path=/usr/share/java,/home/min/confluent-5.5.1/share/java/kafka-connect-jdbc
  • Win10WSL,已安装Ubuntu
  • 下载了confluent platform 5.5.1(参见“https://www.confluent.io/download/没有包装的
  • 从github()下载了zip文件版本1.5.2,解压缩
  • 修改位于合流路径(etc/kafka/connect standalone.properties)下的“connect standalone.properties”以包含路径“/home/min/streamthinks-kafka-connect-file-pulse-1.5.2/lib”
  • 我没有创建任何主题
我开始做动物园管理员;卡夫卡和尝试启动卡夫卡连接,如下所示:

$ zookeeper-server-start etc/kafka/zookeeper.properties
$ kafka-server-start etc/kafka/server.properties
$ connect-standalone \
etc/kafka/connect-standalone.properties \
/home/min/streamthoughts-kafka-connect-file-pulse-1.5.2/etc/quickstart-connect-file-pulse-csv.properties
但我有失败见下文

[2020-09-08 15:57:45,522] INFO Loading plugin from: /home/min/streamthoughts-kafka-connect-file-pulse-1.5.2/lib/kafka-connect-file-pulse-expression-1.5.2.jar (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:239)
[2020-09-08 15:57:45,541] INFO Registered loader: PluginClassLoader{pluginLocation=file:/home/min/streamthoughts-kafka-connect-file-pulse-1.5.2/lib/kafka-connect-file-pulse-expression-1.5.2.jar} (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:262)
[2020-09-08 15:57:45,541] INFO Loading plugin from: /home/min/streamthoughts-kafka-connect-file-pulse-1.5.2/lib/kafka-connect-file-pulse-filters-1.5.2.jar (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:239)
[2020-09-08 15:57:45,553] INFO Registered loader: PluginClassLoader{pluginLocation=file:/home/min/streamthoughts-kafka-connect-file-pulse-1.5.2/lib/kafka-connect-file-pulse-filters-1.5.2.jar} (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:262)
[2020-09-08 15:57:45,554] INFO Loading plugin from: /home/min/streamthoughts-kafka-connect-file-pulse-1.5.2/lib/kafka-connect-file-pulse-plugin-1.5.2.jar (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:239)
[2020-09-08 15:57:45,575] ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectStandalone:130)
java.lang.NoClassDefFoundError: io/streamthoughts/kafka/connect/filepulse/offset/OffsetManager
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
    at java.lang.Class.getConstructor0(Class.java:3075)
    at java.lang.Class.newInstance(Class.java:412)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.versionFor(DelegatingClassLoader.java:385)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.getPluginDesc(DelegatingClassLoader.java:355)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanPluginPath(DelegatingClassLoader.java:328)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.scanUrlsAndAddPlugins(DelegatingClassLoader.java:261)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.registerPlugin(DelegatingClassLoader.java:253)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initPluginLoader(DelegatingClassLoader.java:222)
    at org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader.initLoaders(DelegatingClassLoader.java:199)
    at org.apache.kafka.connect.runtime.isolation.Plugins.<init>(Plugins.java:60)
    at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:79)
Caused by: java.lang.ClassNotFoundException: io.streamthoughts.kafka.connect.filepulse.offset.OffsetManager
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at org.apache.kafka.connect.runtime.isolation.PluginClassLoader.loadClass(PluginClassLoader.java:104)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 13 more
pps。下面是文件pulse connector的
内容(我没有做任何更改)

购买力平价。以下是
connect standalone.properties
文件的关键信息(我添加了
/home/min/streamthinks-kafka-connect-file-pulse-1.5.2/lib


我不认为这是一个完美的答案,但这只是我让它工作的方式

我发现'file pulse'连接器的
plugin.path
属性必须是jar文件的父文件夹

所以,下面的工作

$ cat etc/kafka/connect-standalone.properties
提取的关键信息

plugin.path=/user/share/java,/home/min/streamthoughts-kafka-connect-file-pulse-1.5.2
# plugin.path=/usr/share/java,/home/min/confluent-5.5.1/share/java/kafka-connect-jdbc
之前,它是如下所示,并抛出异常,正如我所提到的

plugin.path=/user/share/java,/home/min/streamthoughts-kafka-connect-file-pulse-1.5.2/lib
# plugin.path=/usr/share/java,/home/min/confluent-5.5.1/share/java/kafka-connect-jdbc
可能我不理解
connect standalone.properties
属性文件中的以下说明,或者文件pulse connectors没有遵循此处所述的标准/说明。当然,JDBC连接器的路径是包含JAR文件的路径

# a) directories immediately containing jars with plugins and their dependencies
# b) uber-jars with plugins and their dependencies
# c) directories immediately containing the package directory structure of classes of plugins and their dependencies

最初,我尝试从这里下载filepulse较低版本(streamthinks-kafka-connect-file-pulse-1.5.0/)。我认为从github下载更高版本会有所帮助。因为jdbc连接器随confluent平台一起提供,在成功启动后,我还验证了下面的
$curl-s localhost:8083/connector plugins | jq.[].class'
,并收到下面的结果
“io.confluent.connect.jdbc.jdbc连接器”“io.confluent.connect.jdbc.JdbcSourceConnector”“org.apache.kafka.connect.file.FileStreamSinkConnector”“org.apache.kafka.connect.file.FileStreamSourceConnector”“org.apache.kafka.connect.MirrorCheckpointConnector”“org.apache.kafka.connect.mirrorcheartbeatconnector”“org.apache.kafka.connect.mirror.MirrorSourceConnector”“
/home/min/streamthinks-kafka-connect-file-pulse-1.5.2
放在jdbc文件夹旁边并重试。检查源代码后,未找到的类确实存在于
连接文件pulse api
jar中。如何强制类路径?是否有特殊原因不使用“confluent hub安装”而不是从Github下载?另外,我看到开发人员在Github问题上做出了响应,所以您可能想问一下,作者已经确认,应该以某种方式设置路径。请参见此处:提供路径直到父文件夹对我有效,但是将file pulse connector的libs下可用的jar复制到Kafka libs也有效。
plugin.path=/user/share/java,/home/min/streamthoughts-kafka-connect-file-pulse-1.5.2/lib
# plugin.path=/usr/share/java,/home/min/confluent-5.5.1/share/java/kafka-connect-jdbc
# a) directories immediately containing jars with plugins and their dependencies
# b) uber-jars with plugins and their dependencies
# c) directories immediately containing the package directory structure of classes of plugins and their dependencies