gpt4 book ai didi

java - Apache flume 推特代理不流数据

转载 作者:可可西里 更新时间:2023-11-01 14:15:16 25 4
gpt4 key购买 nike

我正在尝试将 Twitter 提要流式传输到 hdfs,然后使用配置单元。但是第一部分,流数据和加载到 hdfs 不工作,并给出空指针异常。

这是我试过的。

1. 下载 apache-flume-1.4.0-bin.tar。提取它。将所有内容复制到/usr/lib/flume/。在/usr/lib/中,我将所有者更改为水槽目录的用户。 当我在 /usr/lib/flume/ 中执行 ls 命令时,它显示

bin  CHANGELOG  conf  DEVNOTES  docs  lib  LICENSE  logs  NOTICE  README  RELEASE-NOTES  tools

2. 移动到 conf/ 目录。我将文件 flume-env.sh.template 复制为 flume-env.sh 并将 JAVA_HOME 编辑到我的 java 路径 /usr/lib/jvm/java -7-甲骨文.

3. 接下来,我在相同的 conf 目录中创建了一个名为 flume.conf 的文件,并添加了以下内容

TwitterAgent.sources = Twitter
TwitterAgent.channels = MemChannel
TwitterAgent.sinks = HDFS

TwitterAgent.sources.Twitter.type = com.cloudera.flume.source.TwitterSource
TwitterAgent.sources.Twitter.channels = MemChannel
TwitterAgent.sources.Twitter.consumerKey = <Twitter Application API key>
TwitterAgent.sources.Twitter.consumerSecret = <Twitter Application API secret>
TwitterAgent.sources.Twitter.accessToken = <Twitter Application Access token>
TwitterAgent.sources.Twitter.accessTokenSecret = <Twitter Application Access token secret>
TwitterAgent.sources.Twitter.keywords = hadoop, big data, analytics, bigdata, couldera, data science, data scientist, business intelligence, mapreduce, datawarehouse, data ware housing, mahout, hbase, nosql, newsql, businessintelligence, cloudcomputing

TwitterAgent.sinks.HDFS.channel = MemChannel
TwitterAgent.sinks.HDFS.type = hdfs
TwitterAgent.sinks.HDFS.hdfs.path = hdfs://localhost:8020/user/flume/tweets/%Y/%m/%d/%H/
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 = 600

TwitterAgent.channels.MemChannel.type = memory
TwitterAgent.channels.MemChannel.capacity = 10000
TwitterAgent.channels.MemChannel.transactionCapacity = 100

我在 Twitter 中创建了一个应用程序。生成 token 并将所有 key 添加到上述文件中。 我添加为消费者 key 的 API key

我从 cloudera -files 下载了 flume-sources jar正如他们提到的in here .

4. 我将 flume-sources-1.0-SNAPSHOT.jar 添加到 /user/lib/flume/lib。。 p>

5. 启动 Hadoop 并完成以下操作

hadoop fs -mkdir /user/flume/tweets
hadoop fs -chown -R flume:flume /user/flume
hadoop fs -chmod -R 770 /user/flume

6. 我在 /user/lib/flume

中运行以下命令
/usr/lib/flume/conf$ bin/flume-ng agent -n TwitterAgent -c conf -f conf/flume-conf

它正在显示它正在显示然后退出的 JAR。

当我检查 hdfs 时,里面没有文件。 hadoop fs -ls/user/flume/tweets 它什么也没显示。

在hadoop中,core-site.xml文件有如下配置

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:8020</value>
<fina1>true</fina1>
</property>
</configuration>

谢谢

最佳答案

我运行以下命令,它成功了

bin/flume-ng agent –conf ./conf/ -f conf/flume.conf -Dflume.root.logger=DEBUG,console -n TwitterAgent

关于java - Apache flume 推特代理不流数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23441643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com