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

rsaldnfx  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(360)

我已经编写了一个直接写入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

ar7v8xwq

ar7v8xwq1#

您是否已经在下面安装了新的接收器(打包为.jar文件) [APACHE_FLUME_HOME]/plugins.d/mynewsink/lib ? 相关依赖项应在 [APACHE_FLUME_HOME]/plugins.d/mynewsink/libext .
您还可以用依赖项打包.jar文件,而不是将它们放入 libext .

相关问题