问题标签 [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.
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 秒)创建文件。
flume - 无法启动水槽代理
我正在尝试开始使用flume-ng并遵循以下用户指南: http: //flume.apache.org/FlumeUserGuide.html
在将内存代理设置为简单测试后,我正在运行此命令:
我得到以下输出,这显然并不表明它已经开始。谁能告诉我发生了什么事。我在网上搜索但找不到太多。
flume - 如何安装和配置 Apache Flume?
我是 Apache Flume 的新手。我需要在 HDFS 集群环境之上安装水槽。我用谷歌搜索过,都说使用 cloudera 发行版,但我需要从源代码安装和配置。
那么任何人都可以建议我,从哪里开始以及如何自定义水槽代理和接收器服务?
flume - 为 Flume-ng 编写自定义 HTTPSource 处理程序
是否有任何资源可以帮助我为 Flume-ng 的 HTTPSource 编写自定义处理程序。我阅读了文档并且有一个 Json 的示例处理程序,但我想知道是否有人需要编写一个处理程序来从 XML 消息体创建 Flume 事件。HttpSource 现在在 Flume-ng 1.3.1 中可用,但我们需要处理程序来解释我们的数据。
谢谢。
flume - 如何在 1.3.1 版本中编写 Flume 自定义 sink 和 source
我正在尝试在flume 1.3版中编写自己的接收器和源。它没有配置文件flume-site.xml。编译我的 java 文件后如何使用这个自定义接收器?
apache - 使用 Apache Flume 管道 Apache 服务器日志
我正在使用 Apache Flume 1.3 版并参考Apache Flume User guide。
我的目标是将Apache 服务器日志直接通过管道传输到 Apache Flume Agent 的通道中。如果我的理解是正确的,Apache 服务器将不会创建本地文件,即。server.log、error.log 而是直接将对应的输出写入agent的channel;即使它写入日志,代理也不会从这些文件中读取。但至少 Apache 服务器的文档没有提供相同的示例。
我的查询是:
我提到了这个链接,它与 Cloudera Flume 而不是 Apache Flume 相关。我尝试了这个,但正如预期的那样,Apache 服务器给出了一个错误:
/li>
我怀疑 Apache Flume 和 Cloudera Flume 是否同步。
- 根据 Apache 服务器的文档: Apache httpd 能够通过管道写入错误并访问日志文件到另一个进程,而不是直接写入文件。 如何为正在运行的 Apache Flume 代理实现这一点,即 Apache conf 中的条目必须是什么
自定义日志“|?” 常见的
flume - Flume 代理 - 使用 tail -F
我是 Apache Flume 的新手。我创建了我的代理,例如:
我得到的输出是:
但它不会将日志写入 HDFS。
当我运行cat /var/log/apache2/access.log
而不是tail –F /var/log/apache2/access.log
运行时,我的文件是在 HDFS 上创建的。
请帮帮我。
hadoop - 在 sink 失败后,如何强制 Flume-NG 处理积压的事件?
我正在尝试设置 Flume-NG 从一堆服务器(主要运行 Tomcat 实例和 Apache Httpd)收集各种日志,并将它们转储到 5 节点 Hadoop 集群上的 HDFS 中。设置如下所示:
每个应用程序服务器将相关日志尾随到一个执行源(每种日志类型一个: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 节点上的示例配置
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 不知何故为空?
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.