我是Flume的新手。我试图从Twitter提取数据,但我没有成功。 (我正在使用Cloudera快速入门)
我的conf文件如下:
java.lang.RuntimeException:
at android.app.ActivityThread.handleReceiver (ActivityThread.java:3681)
at android.app.ActivityThread.access$2000 (ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1903)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:148)
at android.app.ActivityThread.main (ActivityThread.java:7406)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)
Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass (ClassLoader.java:511)
at java.lang.ClassLoader.loadClass (ClassLoader.java:469)
at android.app.ActivityThread.handleReceiver (ActivityThread.java:3676)
我已经添加了所有这些值,这些值都来自Twitter帐户consumerKey,consumerSecret,accessToken,accessTokenSecret,关键字和路径
TwitterAgent.sources = Twitter
TwitterAgent.channels = MemChannel
TwitterAgent.sinks = HDFS
TwitterAgent.sources.Twitter.type = com.cloudera.flume.source.TwitterSource
TwitterAgent.sources.Twitter.channels = MemChannel
我用来执行conf文件的命令是:
TwitterAgent.sinks.HDFS.channel = MemChannel
TwitterAgent.sinks.HDFS.type = hdfs
TwitterAgent.sinks.HDFS.hdfs.fileType = DataStream
TwitterAgent.sinks.HDFS.hdfs.writeFormat = Text
TwitterAgent.sinks.HDFS.hdfs.batchSize = 1000
TwitterAgent.sinks.HDFS.hdfs.rollsize = 0
TwitterAgent.sinks.HDFS.hdfs.rollCount = 10000
我得到的错误是:
flume-ng agent --conf conf --conf-file flume.conf -Dflume.root.logger=DEBUG,console -name TwitterAgent
请给我建议。
答案 0 :(得分:0)
我认为您的执行命令有问题,该错误与查找配置文件有关。
命令应为
flume-ng agent -c conf -f conf/flume.conf -Dflume.root.logger=DEBUG,console -n TwitterAgent
您必须指定配置文件路径。您可以尝试使用 -f conf / flume.conf 代替 -f flume.conf