Flume 处的身份验证错误 Twitter4J

Authentication Error Twitter4J at Flume

我想在 CDH-5.3.2 版本中使用 flume 从 Twitter 获取数据。我已经配置了 flume.conf、hbase sink 和 twitter 源代码。

但是,当我启动代理时,出现以下错误:

2015-06-29 16:57:15,115 ERROR org.apache.flume.lifecycle.LifecycleSupervisor: Unable to start EventDrivenSourceRunner: { source:com.cloudera.flume.source.TwitterSource{name:Twitter,state:IDLE} } - Exception follows.
java.lang.IllegalStateException: Authentication credentials are missing. See http://twitter4j.org/configuration.html for the detail.
    at twitter4j.TwitterBaseImpl.ensureAuthorizationEnabled(TwitterBaseImpl.java:200)
    at twitter4j.TwitterStreamImpl.sample(TwitterStreamImpl.java:159)
    at com.cloudera.flume.source.TwitterSource.start(TwitterSource.java:121)
    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.conf 和 hbase 接收器代码与此博客相同:http://ahikmat.blogspot.com/2014/08/streaming-twitter-tweets-to-hbase-with.html

而且,twitter 源代码与 https://github.com/cloudera/cdh-twitter-example/tree/master/flume-sources/src/main/java/com/cloudera/flume/source

相同

我不明白 twitter4j 中的身份验证错误,是否是回调 url 设置/Twitter 源代码有问题。

您已经在 TwitterSourceConstants.java 中添加了您的消费者密钥和密码? 如果你这样做了,你应该撤销这个编辑。这些信息必须在 flume.conf 文件中。在 twitter_flume 有一个例子。查看 flume sources 文件夹,有 flume.conf 文件。

希望对您有所帮助