运行 Flume 代理获取 Twitter 数据

Posted

技术标签:

【中文标题】运行 Flume 代理获取 Twitter 数据【英文标题】:Running flume agent to get Twitter data 【发布时间】:2019-03-18 20:34:32 【问题描述】:

我一直在尝试在我的 Windows 系统上运行一个 Flume 代理来获取 Twitter 数据。我正在关注这个博客 https://acadgild.com/blog/streaming-twitter-data-using-flume

但是,每当我尝试运行水槽代理时,我都会收到以下错误 -

flume-ng agent -n TwitterAgent -f ./conf/flume.conf

E:\apache-flume-1.7.0-bin\apache-flume-1.7.0-bin\bin>powershell.exe -NoProfile -InputFormat none -ExecutionPolicy unrestricted -File E:\apache-flume-1.7.0-bin\apache-flume-1.7.0-bin\bin\flume-ng.ps1 agent -n TwitterAgent -f ./conf/flume.conf

Resolve-Path : Cannot find path 'E:\apache-flume-1.7.0-bin\apache-flume-1.7.0-bin\bin\conf\flume.conf' because it does not exist.
At E:\apache-flume-1.7.0-bin\apache-flume-1.7.0-bin\bin\flume-ng.ps1:217 char:24 +     $confFile = '"' + (Resolve-Path $confFile).Path + '"' +                        ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (E:\apache-flume...conf\flume.conf:String) [Resolve-Path], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.ResolvePathCommand

我尝试过自己调试它,但没有成功。我试图寻找这个特定的错误,但在任何地方都找不到。

【问题讨论】:

【参考方案1】:

E:\apache-flume-1.7.0-bin\apache-flume-1.7.0-bin\bin\conf\flume.conf 是否存在于该位置?你确定它在\bin\conf\flume.conf 而不是\conf\flume.conf 吗?在这种情况下使用:

flume-ng agent -n TwitterAgent -f ./../conf/flume.conf

或者(更常见),使用以下命令从E:\apache-flume-1.7.0-bin\apache-flume-1.7.0-bin 文件夹运行:

bin/flume-ng agent -n TwitterAgent -f ./conf/flume.conf

【讨论】:

以上是关于运行 Flume 代理获取 Twitter 数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 java 解析水槽事件(Twitter 源)

获取 java.lang.OutOfMemoryError: Java heap space while running twitter connector using flume

Flume 代理不包含任何有效通道

在 Cloudera 中创建表单

例外如下。 org.apache.flume.FlumeException:无法在flume twitter分析中加载源类型

从 twitter 找出 Flume 下载的推文的位置