问题标签 [flume-ng]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2420 浏览

hadoop - 如何使用 Flume 在源上执行预处理并将真实文件名保留在 hdfs 接收器中

我是使用 Apache Flume 的新手,我很难理解它是如何工作的。为了解释我的问题,所以我解释了我的需要和我做了什么。

我想在 csv 文件目录(这些文件每 5 分钟构建一次)和 HDFS 集群之间配置一个流。

我确定“假脱机目录”源和 HDFS 接收器是我需要的。那就是给我这个flume.conf文件

结果是输入文件在我的本地文件系统上被重命名为“.complete”,并且数据被上传到 HDFS 上,新名称我猜是唯一的,由 Flume 生成。

这几乎是我所需要的。

但在上传之前,我想做一些文件特定的操作(删除标题,转义逗号..)。我不知道该怎么做,我考虑使用拦截器。但是,当数据在水槽中时,它会在事件中转换并流式传输。在他的点上,没有文件的知识。

否则,文件名中会写入原始时间事件,所以我希望这个时间与我的事件相关联,而不是与当前日期相关联。

我还想将原始文件名保留在 hdfs 中(其中有一些有用的信息)。

有人有什么建议可以帮助我吗?

0 投票
1 回答
2068 浏览

hadoop - Flume - 整个文件可以被视为 Flume 中的一个事件吗?

我有一个用例,我需要将目录中的文件提取到 HDFS 中。作为 POC,我在 Flume 中使用了简单的 Directory Spooling,我在其中指定了源、接收器和通道,它工作正常。缺点是我必须为进入不同文件夹的多种文件类型维护多个目录,以便更好地控制文件大小和其他参数,同时使配置重复但容易。

作为替代方案,我被建议使用正则表达式拦截器,其中多个文件将驻留在单个目录中,并基于文件中的字符串,将被路由到 HDFS 中的特定目录。我期望的文件类型是 CSV 文件,其中第一行是标题,后续行是逗号分隔值。

考虑到这一点,我有几个问题。

  1. 拦截器如何处理文件?
  2. 鉴于 CSV 中的标题行ID, Name在下一行后面是 ID 和名称,并且同一目录中的另一个文件Name, Address在下一行后面是名称和地址,拦截器和通道配置会是什么样子将其路由到不同的 HDFS 目录?
  3. 拦截器如何处理明显不匹配正则表达式的后续行?
  4. 整个文件甚至会构成一个事件,还是一个文件实际上可能是多个事件?

请告诉我。谢谢!

0 投票
1 回答
780 浏览

flume-ng - 使用水槽假脱机目录将整个文件作为单个文件移动到 HDFS

Aa 就水槽文档而言,我们可以根据事件大小或事件计数或持续时间将数据移动到 HDFS 中。有没有办法将整个文件从假脱机目录移动到 HDFS 作为单个文件

谢谢。

0 投票
1 回答
1621 浏览

hdfs - 是否可以将 Flume 标头写入 HDFS 接收器并丢弃主体?

text_with_headers 序列化器(HDFS sink 序列化器)允许保存 Flume 事件标头而不是丢弃它们。输出格式由标头、空格和正文负载组成。我们想删除正文并仅保留标题。对于 HBase 接收器,“RegexHbaseEventSerializer”允许我们转换事件。但我无法为 HDFS 接收器找到这样的规定。

0 投票
1 回答
1305 浏览

apache-kafka - 如何将日志文件从多个 Windows 服务器传输到中央服务器?

我有一个连续生成日志的 Tableau 服务器(Windows 平台)。我想将它流式传输到 apache spark 进行一些实时分析。我查看了以下解决方案,但似乎没有一个满足要求。

1) 使用 nxlog 代理。这是不可扩展的,因为将来日志可能来自多个 tableau 服务器。

2) fluented , flume 与 windows 不兼容。

3) Kafka 是毫无疑问的,因为它不跟踪日志文件。

什么是此类问题的可扩展解决方案?主要限制是 Tableau Server 在 Windows 上运行,

0 投票
1 回答
55 浏览

hadoop - 为什么 MapReduce 作业没有完全加载附加文件?

我有一个水槽,它将数据流式传输到 HDFS 接收器(附加到同一文件),我可以“cat”并从 HDFS 中看到它。但是,MapReduce 作业只拾取第一批被刷新的 (bacthSize = 100)。其余的没有被捡起,尽管我可以看到其余的。当我在文件滚动(关闭)后执行 MapRecue 作业时,它正在获取所有数据。你知道为什么 MR 作业即使存在,也找不到批次的其余部分。

0 投票
1 回答
642 浏览

hadoop - 将在线数据收集到 hdfs 时的水槽损失数据

我使用flume-ng 1.5版本来收集日志。

数据流中有两个代理,它们分别位于两台主机上。

并且数据从agent1发送到agent2。

代理的组成如下:

代理 1:假脱机 dir 源 --> 文件通道 --> avro 接收器

agent2: avro 源 --> 文件通道 --> hdfs 接收器

但它似乎丢失了大约百万数据的 1/1000 百分比的数据。 为了解决问题,我尝试了以下步骤:

  1. 查找代理日志:找不到任何错误或异常。
  2. 查找代理监控指标:从通道放入和取出的事件数始终等于
  3. 分别通过hive查询和hdfs文件使用shell统计数据个数:两者相等且小于在线数据个数

agent1的配置:

agent2的配置

欢迎任何建议!

0 投票
1 回答
1677 浏览

flume - 如何使用flume将zip文件上传到hdfs sink

我是水槽的新手。我的水槽代理有源作为 http 服务器,它定期从那里获取 zip 文件(压缩的 xml 文件)。这个 zip 文件非常小(小于 10 mb),我想把 zip 文件提取到 hdfs 接收器中。请分享一些想法如何做到这一点。我是否必须使用自定义拦截器。

0 投票
1 回答
2126 浏览

hadoop - 使用 Flume(spool 目录作为源)将 csv 文件加载到 HDFS

我正在尝试使用flume和spooldir作为源,HDFS作为接收器将csv文件(6MB)加载到HDFS中,这是我的配置文件:

之后我得到了这些错误并且不知道为什么:

有人可以帮我解决这个问题吗?

0 投票
0 回答
278 浏览

flume-ng - Apache Flume 自定义 zip 反序列化器来拆分事件

我正在使用 Apache Flume 1.6.0.SNAPSHOT 读取包含多个 XML 文件的 zip 文件。我想将每个 XML 表示为一个事件。我尝试按照 BlobDeserializer 示例进行操作,但无法根据 XML 的数量拆分事件。有人可以帮我解决这个问题。谢谢