如何首先在flume中加载自定义库

时间:2015-04-30 08:57:26

标签: java hadoop flume flume-ng

我写了一个接收器直接写入cassandra数据库。我还为flume-agent提供了所有必要的cassandra依赖项。 但在执行时,我收到错误

015-04-30 00:53:25,736 (conf-file-poller-0) [ERROR - org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:149)] Unhandled error
java.lang.NoSuchMethodError: com.google.common.collect.Sets.newConcurrentHashSet()Ljava/util/Set;
    at com.datastax.driver.core.Cluster$ConnectionReaper.<init>(Cluster.java:2065)
    at com.datastax.driver.core.Cluster$Manager.<init>(Cluster.java:1163)

现在这是因为cassandra jars需要guava-16.0.1.jar。我提供了这个,但是我看到flume选择了guava-11.X.X.jar,它默认发布在CDH5中。

喜欢job.getConfiguration()。set(&#34; mapreduce.job.user.classpath.first&#34;,&#34; true&#34;);

我怎么能告诉水槽先拿起我的罐子

1 个答案:

答案 0 :(得分:1)

您是否已在[APACHE_FLUME_HOME]/plugins.d/mynewsink/lib下安装了新的接收器(打包为.jar文件)?相关依赖项应位于[APACHE_FLUME_HOME]/plugins.d/mynewsink/libext

您也可以使用依赖项打包.jar文件,而不是将它们放入libext