我正在尝试使用linux从终端运行自定义flume代理。我正在研究cloudera VM。命令运行水槽看起来像:
flume-ng agent --conf . -f spoolDirLocal2hdfs_memoryChannel.conflume.root.logger=DEBUG,console -n Agent5
拦截器的来源如下:
Agent5.sources.spooldir-source.interceptors = i1
Agent5.sources.spooldir-source.interceptors.i1.type = org.flumefiles.flume.HtmlInterceptor$Buider
我已将我的jar文件放入/usr/lib/hadoop/lib/
和/usr/lib/flume-ng/lib/
。我还在/usr/lib/flume-ng/plugins.d/
创建了plugins.d并将jar放在那里。但是在运行水槽代理时我遇到了错误:
15/02/18 06:10:46 ERROR channel.ChannelProcessor: Builder class not found. Exception follows.
java.lang.ClassNotFoundException: org.intropro.flume.HtmlInterceptor$Buider
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
.....
我应该在哪里放置我的jar文件以使其找到构建器?
答案 0 :(得分:0)
将其放入FLUME_HOME / lib,然后重新启动水槽。
如果这不起作用,请确保您的拦截器实际实现了Builder接口。这可能是另一个原因。