我写了一个接收器直接写入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;);
我怎么能告诉水槽先拿起我的罐子
答案 0 :(得分:1)
您是否已在[APACHE_FLUME_HOME]/plugins.d/mynewsink/lib
下安装了新的接收器(打包为.jar文件)?相关依赖项应位于[APACHE_FLUME_HOME]/plugins.d/mynewsink/libext
。
您也可以使用依赖项打包.jar文件,而不是将它们放入libext
。