Flume Twitter流

时间:2018-10-31 09:17:37

标签: java hadoop twitter4j flume flume-twitter

我正在尝试执行水槽从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       在com.cloudera.flume.source.TwitterSource.start(TwitterSource.java:140)       在org.apache.flume.source.EventDrivenSourceRunner.start(EventDrivenSourceRunner.java:44)       在org.apache.flume.lifecycle.LifecycleSupervisor $ MonitorRunnable.run(LifecycleSupervisor.java:251)       在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471)       在java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)       在java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 301(ScheduledThreadPoolExecutor.java:178)       在java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)       在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)       在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)       在java.lang.Thread.run(Thread.java:745)

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

1 个答案:

答案 0 :(得分:0)

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