Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/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
Java Flume 1.6中的自定义水槽水槽部署_Java_Flume_Flume Ng - Fatal编程技术网

Java Flume 1.6中的自定义水槽水槽部署

Java Flume 1.6中的自定义水槽水槽部署,java,flume,flume-ng,Java,Flume,Flume Ng,我使用的是Flume1.6,有一个自定义的接收器实现。我已经构建了一个包含所有必要依赖项的JAR文件,并将其放在/plugins.d/MySink/lib/MySink.JAR 从阅读可用资源中可以看出,如果我将JAR文件放在plugins.d目录下,则在运行flume ng时,必须自动解析类路径。但是,我得到以下异常堆栈,表示无法加载接收器实现中的主类: org.apache.flume.FlumeException:无法加载接收器类型: MySink,类:MySink 问题:我是否应该在Fl

我使用的是Flume1.6,有一个自定义的接收器实现。我已经构建了一个包含所有必要依赖项的JAR文件,并将其放在
/plugins.d/MySink/lib/MySink.JAR

从阅读可用资源中可以看出,如果我将JAR文件放在plugins.d目录下,则在运行
flume ng
时,必须自动解析类路径。但是,我得到以下异常堆栈,表示无法加载接收器实现中的主类:

org.apache.flume.FlumeException:无法加载接收器类型: MySink,类:MySink

问题:我是否应该在Flume的配置文件中进行任何进一步的特定设置?将JAR文件放在目录结构下,即:

<FLUME_DIR>/plugins.d/MySink/lib/MySink.jar 

flume社区中没有人可以对上述问题发表意见吗?看来我分两步解决了这个问题。首先,我注意到我没有在flume配置(即com.xyz.MySink)中指明完全限定的类名。它只是conf文件中的MySink:)其次,我将MySink.jar放在/lib目录下。然后,上面的异常就消失了……毕竟,尽管flume文档中以这种方式指定了jar文件,但将jar文件放在plugins.d目录下仍然不起作用,这仍然很奇怪。请在此就此事发表评论。
2016-01-21 10:52:51,500 (conf-file-poller-0) [INFO -org.apache.flume.node.AbstractConfigurationProvider.loadChannels(AbstractConfigurationProvider.java:200)] Created channel kafkaChnl2
2016-01-21 10:52:51,501 (conf-file-poller-0) [INFO - org.apache.flume.source.DefaultSourceFactory.create(DefaultSourceFactory.java:41)] Creating instance of source httpSource, type http
2016-01-21 10:52:51,576 (conf-file-poller-0) [INFO - org.apache.flume.sink.DefaultSinkFactory.create(DefaultSinkFactory.java:42)] Creating instance of sink: myownsink, type: MySink
2016-01-21 10:52:51,576 (conf-file-poller-0) [DEBUG - org.apache.flume.sink.DefaultSinkFactory.getClass(DefaultSinkFactory.java:63)] Sink type MySink is a custom type
2016-01-21 10:52:51,578 (conf-file-poller-0) [ERROR - org.apache.flume.node.
PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.
run(PollingPropertiesFileConfigurationProvider.java:142)] 

Failed to load configuration data. Exception follows.
org.apache.flume.FlumeException: Unable to load sink type: 
MySink, class: MySink
at 
    org.apache.flume.sink.DefaultSinkFactory.getClass(DefaultSinkFactory.java:71)
at org.apache.flume.sink.DefaultSinkFactory.create(DefaultSinkFactory.java:43)
at org.apache.flume.node.AbstractConfigurationProvider.loadSinks(AbstractConfigurationProvider.java:410)
at org.apache.flume.node.AbstractConfigurationProvider.getConfiguration(AbstractConfigurationProvider.java:98)
at org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:140)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(    ScheduledThreadPoolExecutor.java:180)
at  java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Schedul edThreadPoolExecutor.java:294)
at  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: MySink
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at   org.apache.flume.sink.DefaultSinkFactory.getClass(DefaultSinkFactory.java:69)