Flume 推特流
Flume twitter stream
我正在尝试执行 flume 以从 Twitter 流中获取数据,但在执行 flume.
时收到此错误
[ERROR - org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:253)] Unable to start EventDrivenSourceRunner: { source:com.cloudera.flume.source.TwitterSource{name:Twitter,state:IDLE} } - Exception follows.
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)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access1(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
我是 flume 的初学者,正在使用 Cloudera quickstart。在搜索解决方案时,据说要安装 maven,然后从那里构建 flume-snapshot jar 文件,但我不知道如何在 Cloudera quickstart 中安装 maven。关于如何更正此错误的任何帮助,我已经在这里停留了 1 周。
找到解决方法:
冲突是由 twitter4j 文件和 flume 快照 jar 引发的。所以我通过用 jarx 更改文件扩展名来重命名 twitter4j jar。我通过阅读此 article 所做的另一件事是将 flume 快照放在以下层次结构中。
/usr/lib/flume-ng/lib/plugins.d/flumesnapshot 并在 var 目录中遵循相同的模式。
我正在尝试执行 flume 以从 Twitter 流中获取数据,但在执行 flume.
时收到此错误[ERROR - org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:253)] Unable to start EventDrivenSourceRunner: { source:com.cloudera.flume.source.TwitterSource{name:Twitter,state:IDLE} } - Exception follows. 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) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access1(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
我是 flume 的初学者,正在使用 Cloudera quickstart。在搜索解决方案时,据说要安装 maven,然后从那里构建 flume-snapshot jar 文件,但我不知道如何在 Cloudera quickstart 中安装 maven。关于如何更正此错误的任何帮助,我已经在这里停留了 1 周。
找到解决方法: 冲突是由 twitter4j 文件和 flume 快照 jar 引发的。所以我通过用 jarx 更改文件扩展名来重命名 twitter4j jar。我通过阅读此 article 所做的另一件事是将 flume 快照放在以下层次结构中。 /usr/lib/flume-ng/lib/plugins.d/flumesnapshot 并在 var 目录中遵循相同的模式。