我已经编写了一个直接写入cassandra数据库的接收器。我还为flume代理提供了所有必要的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)
这是因为cassandrajar需要guava-16.0.1.jar。我已经提供了,但是我看到flume选择了guava-11.x.x.jar,它在cdh5中默认提供。
如job.getconfiguration().set(“mapreduce.job.user.classpath.first”,“true”);
我怎么能告诉flume先拿我的jar
1条答案
按热度按时间ar7v8xwq1#
您是否已经在下面安装了新的接收器(打包为.jar文件)
[APACHE_FLUME_HOME]/plugins.d/mynewsink/lib
? 相关依赖项应在[APACHE_FLUME_HOME]/plugins.d/mynewsink/libext
.您还可以用依赖项打包.jar文件,而不是将它们放入
libext
.