问题标签 [flume]

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 投票
2 回答
14418 浏览

hdfs - 在 Flume-ng 中使用 HDFS Sink 和 rollInterval 批量处理 90 秒的日志信息

我正在尝试使用 Flume-ng 获取 90 秒的日志信息并将其放入 HDFS 中的文件中。我已经通过 exec 和 tail 查看日志文件,但是它每 5 秒创建一个文件,而不是我试图配置为每 90 秒的文件。

我的flume.conf如下:

我试图通过参数- agent1.sinks.sink1.hdfs.rollInterval=90控制文件大小。

运行此配置会产生:

从时间戳可以看出,它大约每 5 秒左右创建一个文件。这会创建许多小文件。

我希望能够以更大的时间间隔(90 秒)创建文件。

0 投票
2 回答
5236 浏览

flume - 无法启动水槽代理

我正在尝试开始使用flume-ng并遵循以下用户指南: http: //flume.apache.org/FlumeUserGuide.html

在将内存代理设置为简单测试后,我正在运行此命令:

我得到以下输出,这显然并不表明它已经开始。谁能告诉我发生了什么事。我在网上搜索但找不到太多。

0 投票
5 回答
21892 浏览

flume - 如何安装和配置 Apache Flume?

我是 Apache Flume 的新手。我需要在 HDFS 集群环境之上安装水槽。我用谷歌搜索过,都说使用 cloudera 发行版,但我需要从源代码安装和配置。

那么任何人都可以建议我,从哪里开始以及如何自定义水槽代理和接收器服务?

0 投票
1 回答
1271 浏览

flume - 为 Flume-ng 编写自定义 HTTPSource 处理程序

是否有任何资源可以帮助我为 Flume-ng 的 HTTPSource 编写自定义处理程序。我阅读了文档并且有一个 Json 的示例处理程序,但我想知道是否有人需要编写一个处理程序来从 XML 消息体创建 Flume 事件。HttpSource 现在在 Flume-ng 1.3.1 中可用,但我们需要处理程序来解释我们的数据。

谢谢。

0 投票
1 回答
3194 浏览

flume - 如何在 1.3.1 版本中编写 Flume 自定义 sink 和 source

我正在尝试在flume 1.3版中编写自己的接收器和源。它没有配置文件flume-site.xml。编译我的 java 文件后如何使用这个自定义接收器?

0 投票
1 回答
1025 浏览

apache - 使用 Apache Flume 管道 Apache 服务器日志

我正在使用 Apache Flume 1.3 版并参考Apache Flume User guide

我的目标是将Apache 服务器日志直接通过管道传输到 Apache Flume Agent 的通道中。如果我的理解是正确的,Apache 服务器将不会创建本地文件,即。server.log、error.log 而是直接将对应的输出写入agent的channel;即使它写入日志,代理也不会从这些文件中读取。但至少 Apache 服务器的文档没有提供相同的示例。

我的查询是:

  1. 我提到了这个链接,它与 Cloudera Flume 而不是 Apache Flume 相关。我尝试了这个,但正如预期的那样,Apache 服务器给出了一个错误:

    /li>

我怀疑 Apache Flume 和 Cloudera Flume 是否同步。

  1. 根据 Apache 服务器的文档: Apache httpd 能够通过管道写入错误并访问日志文件到另一个进程,而不是直接写入文件。 如何为正在运行的 Apache Flume 代理实现这一点,即 Apache conf 中的条目必须是什么

自定义日志“|?” 常见的

0 投票
1 回答
3851 浏览

flume - Flume 代理 - 使用 tail -F

我是 Apache Flume 的新手。我创建了我的代理,例如:

我得到的输出是:

但它不会将日志写入 HDFS。

当我运行cat /var/log/apache2/access.log而不是tail –F /var/log/apache2/access.log运行时,我的文件是在 HDFS 上创建的。

请帮帮我。

0 投票
1 回答
6147 浏览

hadoop - 在 sink 失败后,如何强制 Flume-NG 处理积压的事件?

我正在尝试设置 Flume-NG 从一堆服务器(主要运行 Tomcat 实例和 Apache Httpd)收集各种日志,并将它们转储到 5 节点 Hadoop 集群上的 HDFS 中。设置如下所示:

Flume-Hadoop 设置

每个应用程序服务器将相关日志尾随到一个执行源(每种日志类型一个:java、httpd、syslog),它通过 FileChannel 将它们输出到 Avro 接收器。在每台服务器上,不同的源、通道和接收器由一个代理管理。事件由驻留在 Hadoop 集群(也托管 SecondaryNameNode 和 Jobtracker 的节点)上的 AvroSource 接收。对于每种日志类型,都有一个 AvroSource 在不同的端口上进行侦听。事件通过 FileChannel 进入 HDFS Sink,HDFS Sink 使用 FlumeEventAvro EventSerializer 和 Snappy 压缩保存事件。

问题:管理 HDFS Sink 的 Hadoop 节点上的代理(同样,每个日志类型一个)在几个小时后失败,因为我们没有更改 JVM 的堆大小。从那时起,该节点上的 FileChannel 以及应用服务器上的 FileChannel 收集了大量事件,因为 Hadoop 节点上的 FileChannel 已达到其最大容量。当我解决问题时,我无法让 Hadoop 节点上的代理足够快地处理积压工作,以便它可以恢复正常操作。FileChannel 在接收事件之前保存事件的 tmp 目录的大小一直在增长。此外,HDFS 写入似乎真的很慢。有没有办法强制 Flume 在摄取新事件之前先处理积压?下面的配置是最优的吗?也许相关:写入 HDFS 的文件非常小,大约 1 - 3 MB 左右。对于 64MB 的 HDFS 默认块大小以及未来的 MR 操作,这肯定不是最佳选择。我应该使用什么设置来收集足够大的文件中的事件以容纳 HDFS 块大小?我感觉 Hadoop 节点上的配置不正确,我怀疑 BatchSize、RollCount 和相关参数的值已关闭,但我不确定最佳值应该是什么。

应用服务器上的示例配置:

Hadoop 节点上的示例配置

0 投票
1 回答
742 浏览

flume - Flume 标准输出到 IRC

我正在尝试将集群应用程序中每个节点的输出合并到一个简单、一目了然的位置。我不需要永久存储数据,我只想在同一个位置查看所有标准输出。最终我会想要存储更少的信息,可能使用日志文件,但现在,我只想要 app -> stdOut -> IRC,而 Flume 似乎是一个不错的选择。

我看到的所有使用 exec 源代码的示例都显示了使用 tail 的命令,即使文档使您看起来可以使用任何输出到标准输出的进程。我的配置(见下文)将我的应用程序作为命令运行,但为了进行故障排除,它运行一个简单的 shell 脚本,以设定的时间间隔回显“测试”。

我让一切都在运行,IRC 接收器加入了 IRC 通道,但它从不发送任何消息。日志中的最后一项是 Exec 正在启动。

编辑: 水槽版本flume-ng-1.2.0+24.43-1~squeeze

水槽.config:

log4j.properties:

测试.sh:

水槽.日志:

编辑批量大小似乎是问题所在,因为它一直等到 20 条消息(默认?),在我看到任何输出之前是 100 秒。现在使用 batchsize = 1,标准记录器输出结果,但 IRC 抱怨 NullPointerException,可能是因为 Event.body 不知何故为空?

0 投票
3 回答
4976 浏览

amazon-web-services - Invalid hostname error when connecting to s3 sink when using secret key having forward slash

I have a forward slash in aws secret key.

When I try to connect to s3 sink

When I encode forward slash with %2F, I get

How should I encode my secret key.