草庐IT

java - 如何使用 flume 将 body 中的数据拆分到不同的 channel 中?

我想使用一个水槽代理,根据定义的函数拆分body数据,并将body数据的一部分发送到一个接收器,另一部分发送到另一个接收器。我是否需要为此实现自定义拦截器,或者是否有我在阅读Flume用户指南时错过的默认解决方案? 最佳答案 是的,您必须编写自定义拦截器。您可以使用Interceptor的拦截方法并根据您的功能拆分每个事件的主体。稍后您可以为主体的特定部分分配一个有意义的header,该header可用作水槽扇出流的重定向或channel选择器参数。准备好代码后,您可以在flumeconf文件中添加以下属性并实现多路复用-多路复用选

ubuntu - 控制flume自身生成的日志文件大小

Flume在/var/log/flume文件夹中生成日志。那里的文件以GB为单位增长。如何限制这些日志的文件大小? 最佳答案 在/etc/flume/conf.empty下,将其中的log4j.properties复制到/etc/flume/conf。然后flume及其扩展将记录您在log4j.properties中配置的方式。 关于ubuntu-控制flume自身生成的日志文件大小,我们在StackOverflow上找到一个类似的问题: https://st

hadoop - 通过 flume 将事件数据写入 HDFS 时出错

我正在使用cdh3update4tarball进行开发。我已经启动并运行了hadoop。现在,我还从clouderaviz1.1.0下载了等效的flumetarball,并尝试使用hdfs-sink将日志文件的尾部写入hdfs。当我运行flume代理时,它启动正常,但在尝试将新事件数据写入hdfs时以错误告终。我找不到比stackoverflow更好的小组来发布这个问题。这是我正在使用的水槽配置agent.sources=exec-sourceagent.sinks=hdfs-sinkagent.channels=ch1agent.sources.exec-source.type=ex

hadoop - Flume:无法修复接收器输出文件大小

我正在尝试修复接收器输出文件的大小。即我正在尝试为每个输出文件获取128MB。我尝试了几种机制(rollInterval、rollCount、rollSize),但没有得到所需的输出。我没有始终如一地获得128MB的文件。我最初得到几个128MB的文件,但后来生成了一些不同大小的文件,如30,4045MB等。还有很多新创建的文件打开并保持在.tmp状态。有什么想法吗? 最佳答案 我认为不可能总是创建128MB大小的文件。如果Flume聚合随机大小的数据(我的意思是不是恒定大小)或恒定大小的数据但不是您请求的大小的倍数,它将始终创建小

hadoop - 为什么 Flume 需要有 AMQP 源?

Flume有几个第三方插件来支持AMQP源。为什么我们要将消息发送到rabbitmq或qpid然后再发送到flume而不是直接发送到flume?我错过了什么吗?此外,在什么情况下我应该使用像Qpid、rabbitMQ这样的消息队列以及什么时候像Flume这样的东西?我阅读了Qpid,RabbitMQ保证订购交付,这对我来说并不重要。还有其他区别吗?我们可以向正在运行的水槽代理动态添加channel和接收器吗?使用文件滚动接收器向源添加新channel,它不需要任何代码更改,只需更改conf文件并重新启动。有没有办法动态地做到这一点,即无需重新启动水槽代理 最

hadoop - Flume:通过 API 将文件发送到 HDFS

我是ApacheFlume-ng的新手。我想将文件从客户端代理发送到服务器代理,服务器代理最终将文件写入HDFS。我看过http://cuddletech.com/blog/?p=795.这是迄今为止我发现的最好的。但它是通过脚本而不是通过API。我想通过FlumeAPI来完成。请在这方面帮助我。并告诉我步骤,如何开始和组织代码。 最佳答案 我认为您或许应该更多地解释一下您想要实现的目标。您发布的链接似乎正好满足您的需要。您需要在客户端启动Flume代理来读取文件并使用Avro接收器发送它们。然后您的服务器上需要一个Flume代理,

hadoop - 配置flume从不同目录读取日志

不同的应用程序正在将它们的日志写入不同的目录结构。我想阅读那些日志并将其放入接收器(可以是hadoop或物理文件)。flume如何支持单代理多源?是否可以为单个代理提供多个来源?任何人都可以指导我吗?感谢和问候查雅 最佳答案 使用多个源配置您的水槽代理-每个日志文件一个。它们可能应该是假脱机文件源类型。请注意,当源获取文件时,它不需要更改-您需要配置源以确保这一点..然后这些源可以进入一个channel,该channel可以有一个接收器。 关于hadoop-配置flume从不同目录读取日

java - Hadoop Flume java客户端将日志传输到hdfs

是否可以使用flumejava客户端将Web服务器日志传输到HDFS?如果是这样,怎么办??请帮帮我......我见过几个人在写入HDFS时遇到问题 最佳答案 使用log4jFlumeappender将应用程序事件发送到Flume。然后Flume可以将事件写入HDFS,稍后可以使用Hive或其他一些框架对其进行分析。检查这个article有关代码和配置文件的详细说明。appender文中提到的是Flume的一部分,已经moved至Log4J2.另外,看看Scribe来自Facebook。但是,它已经超过2年没有更新了。看起来它并没有

hadoop - 带有 Hadoop 2.2.0 和 hdfs 接收器类型的 Flume 1.4 有问题

下面提到的是我的flume配置文件...#example.conf:Asingle-nodeFlumeconfiguration#Namethecomponentsonthisagenta1.sources=r1a1.sinks=k1a1.channels=c1#readingfileusingtailcommandandsendingdatatochannela1.sources.r1.type=spooldira1.sources.r1.spoolDir=/data/apache-flume-1.4.0-bin/logsa1.sources.r1.channels=c1#Useac

hadoop - Apache Flume 连接到 twitter API 401 :Authentication credentials

我正在尝试使用ApacheFlume将推文保存到我的HDFS。我目前正在将Cloudera图像与Hadoop和Flume一起使用。我正在按照Cloudera博客中的教程进行操作,但无法连接到TwitterAPI。我收到以下错误:2014-03-1409:43:14,021INFOorg.apache.flume.node.Application:Waitingforchannel:MemChanneltostart.Sleepingfor500ms2014-03-1409:43:14,069INFOorg.apache.flume.instrumentation.MonitoredCo