首页 > 解决方案 > Flume 推特流

问题描述

我正在尝试执行水槽以从 twitter 流中获取数据,但在执行水槽时收到此错误。

[错误 - org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:253)] 无法启动 EventDrivenSourceRunner:{ source:com.cloudera.flume.source.TwitterSource{name:Twitter,state:IDLE} } - 例外如下。java.lang.NoSuchMethodError: twitter4j.TwitterStream.addListener(Ltwitter4j/StreamListener;)V at com.cloudera.flume.source.TwitterSource.start(TwitterSource.java:140) at org.apache.flume.source.EventDrivenSourceRunner.start( EventDrivenSourceRunner.java:44) at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:251) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util .concurrent.FutureTask.runAndReset(FutureTask.java:304) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask。

我是水槽的初学者并在 Cloudera 快速入门中工作。在搜索解决方案时,据说要安装 maven,然后从那里构建 flume-snapshot jar 文件,但我不知道如何在 Cloudera 快速入门中安装 maven。有关如何纠正此错误的任何帮助,请让我在这里停留 1 周。

标签: javahadooptwitter4jflumeflume-twitter

解决方案


找到解决方案: twitter4j 文件和水槽快照 jar 引发了冲突。因此,我通过使用 jarx 更改文件扩展名来重命名 twitter4j jar。我通过阅读本文所做的另一件事是将水槽快照放在以下层次结构中。/usr/lib/flume-ng/lib/plugins.d/flumesnapshot 并在 var 目录中遵循相同的模式。


推荐阅读