我有一个Flume的配置文件,如下所示:TwitterAgent.sources=TwitterTwitterAgent.channels=MemChannelTwitterAgent.sinks=HDFSTwitterAgent.sources.Twitter.type=TwitterAgent.sources.Twitter.channels=MemChannelTwitterAgent.sources.Twitter.consumerKey=TwitterAgent.sources.Twitter.consumerSecret=TwitterAgent.sources.Twitt
我正在尝试实现一个简单的FlumeHDFS接收器,它将从Kafkachannel获取事件并将它们作为文本文件写入hdfs。该架构非常简单。这些事件从twitter流式传输到kafka主题,而flumehdfssink确实会将这些事件写入hdfs。这是Kafka-producerstackoverflowquestion的第2部分.当我执行这个命令时没有错误,看起来它工作得很好,但我无法在hdfs中看到文本文件。我无法调试或调查,因为/var/log/flume/文件夹中没有创建日志文件。我正在使用Hortonworks沙盒2.3.1和hue来浏览文件系统。执行flume的命令:flum
我搭建了一个hadoop集群,其中一个是master-slave节点,另一个是slave。现在,我想建立一个水槽来获取主机上集群的所有日志。但是,当我尝试从tarball安装flume时,我总是得到:错误:无法找到或加载主类org.apache.flume.node.Application所以,请帮我找到答案,或者在我的集群上安装水槽的最佳方法。非常感谢! 最佳答案 主要是因为FLUME_HOME..试试这个命令$unsetFLUME_HOME 关于hadoop-错误:Couldnotf
我在Flume文档中遇到了HDFSSink的两个配置属性:hdfs.rollCountNumberofeventswrittentofilebeforeitrolled(0=neverrollbasedonnumberofevents)和hdfs.batchSizenumberofeventswrittentofilebeforeitisflushedtoHDFS我想知道这两个属性之间的区别,以及roll和flush的区别。在我看来它们看起来一样。 最佳答案 在HDFSSink中,roll表示关闭当前文件,将即将发生的事件写入新文件
我想使用一个水槽代理,根据定义的函数拆分body数据,并将body数据的一部分发送到一个接收器,另一部分发送到另一个接收器。我是否需要为此实现自定义拦截器,或者是否有我在阅读Flume用户指南时错过的默认解决方案? 最佳答案 是的,您必须编写自定义拦截器。您可以使用Interceptor的拦截方法并根据您的功能拆分每个事件的主体。稍后您可以为主体的特定部分分配一个有意义的header,该header可用作水槽扇出流的重定向或channel选择器参数。准备好代码后,您可以在flumeconf文件中添加以下属性并实现多路复用-多路复用选
Flume在/var/log/flume文件夹中生成日志。那里的文件以GB为单位增长。如何限制这些日志的文件大小? 最佳答案 在/etc/flume/conf.empty下,将其中的log4j.properties复制到/etc/flume/conf。然后flume及其扩展将记录您在log4j.properties中配置的方式。 关于ubuntu-控制flume自身生成的日志文件大小,我们在StackOverflow上找到一个类似的问题: https://st
我正在使用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
我正在尝试修复接收器输出文件的大小。即我正在尝试为每个输出文件获取128MB。我尝试了几种机制(rollInterval、rollCount、rollSize),但没有得到所需的输出。我没有始终如一地获得128MB的文件。我最初得到几个128MB的文件,但后来生成了一些不同大小的文件,如30,4045MB等。还有很多新创建的文件打开并保持在.tmp状态。有什么想法吗? 最佳答案 我认为不可能总是创建128MB大小的文件。如果Flume聚合随机大小的数据(我的意思是不是恒定大小)或恒定大小的数据但不是您请求的大小的倍数,它将始终创建小
Flume有几个第三方插件来支持AMQP源。为什么我们要将消息发送到rabbitmq或qpid然后再发送到flume而不是直接发送到flume?我错过了什么吗?此外,在什么情况下我应该使用像Qpid、rabbitMQ这样的消息队列以及什么时候像Flume这样的东西?我阅读了Qpid,RabbitMQ保证订购交付,这对我来说并不重要。还有其他区别吗?我们可以向正在运行的水槽代理动态添加channel和接收器吗?使用文件滚动接收器向源添加新channel,它不需要任何代码更改,只需更改conf文件并重新启动。有没有办法动态地做到这一点,即无需重新启动水槽代理 最
我是ApacheFlume-ng的新手。我想将文件从客户端代理发送到服务器代理,服务器代理最终将文件写入HDFS。我看过http://cuddletech.com/blog/?p=795.这是迄今为止我发现的最好的。但它是通过脚本而不是通过API。我想通过FlumeAPI来完成。请在这方面帮助我。并告诉我步骤,如何开始和组织代码。 最佳答案 我认为您或许应该更多地解释一下您想要实现的目标。您发布的链接似乎正好满足您的需要。您需要在客户端启动Flume代理来读取文件并使用Avro接收器发送它们。然后您的服务器上需要一个Flume代理,