由于我不允许在生产服务器上设置 Flume,因此我必须下载日志,将它们放入 Flume spoolDir 中,并有一个接收器可以从通道中使用并写入 Cassandra。一切正常。
然而,由于我在spolDir中有很多日志文件,并且当前设置一次只处理1个文件,这需要一段时间。我希望能够同时处理许多文件。我想到的一种方法是使用spolDir,但将文件分发到5-10个不同的目录中,并定义多个源/通道/接收器,但这有点笨拙。有没有更好的方法来实现这一点?
谢谢
为了记录在案,这已经在Flume的邮件列表中回答了:
Hari Shreedharan写道:
不幸的是,没有。spoolDir源保持为单线程,因此反序列化器实现可以保持简单。使用多个spoolDir源的方法是正确的,尽管它们都可以写入同一个通道-因此,您只需要更多的源,它们都可以共享同一通道,并且您不需要更多的接收器,除非您想更快地取出数据。
http://mail-archives . Apache . org/mod _ mbox/flume-user/2014 09 . mbox/browser
我想从IBM MQ中读取数据,并将其放入HDFs。 查看了 JMS 的水槽源,似乎它可以连接到 IBM MQ,但我不明白所需属性列表中的“destinationType”和“destinationName”是什么意思。有人可以解释一下吗? 还有,我应该如何配置我的水槽代理 flumeAgent1(在与MQ相同的机器上运行)读取MQ数据——flumeAgent2(在Hadoop集群上运行)写入Hdf
刚开始学习Apache Flume。我遵循Flume官方入门网站上的说明: https://cwiki.apache.org/confluence/display/FLUME/Getting开始 按照上面链接上的说明操作后,几乎一切都很好。但是后来我找不到任何日志文件。我想日志文件在{flume.directory}/logs下。有办法找到水槽日志文件吗? 这是我的log4j.properties
我正在尝试使用hdfs水槽运行水槽。hdfs在不同的机器上正常运行,我甚至可以与水槽机器上的hdfs交互,但是当我运行水槽并向其发送事件时,我收到以下错误: 同样,一致性不是问题,因为我可以使用hadoop命令行与hdfs交互(水槽机不是datanode)。最奇怪的是,在杀死水槽后,我可以看到tmp文件是在hdfs中创建的,但它是空的(扩展名仍然是. tmp)。 关于为什么会发生这种情况的任何想法
我遇到了Flume的问题(Cloudera CDH 5.3上的1.5): 我想做的是:每5分钟,大约20个文件被推送到假脱机目录(从远程存储中抓取)。每个文件包含多行,每行是一个日志(在JSON中)。文件大小在10KB到1MB之间。 当我启动代理时,所有文件都被成功推送到HDFS。1分钟后(这是我在flume.conf中设置的),文件被滚动(删除. tmp后缀并关闭)。 但是,当在假脱机目录中找到
我想使用 flume 将数据从 hdfs 目录传输到 hdfs 中的目录,在此传输中,我想应用处理形态线。 例如:我的来源是 我的水槽是 有水槽可能吗? 如果是,源水槽的类型是什么?
我使用的API接受单个AKKA接收器,并用数据填充: 有没有一种方法,在不深入阿卡的深度的情况下,用两个汇而不是一个汇来处理输出? 例如 如果我可以访问方法使用的Flow,我可以使用,但流不会公开。 目前唯一的解决方法是将一个处理字符串的水槽传递给两个StringBuilder,以替换,但这似乎违背了AKKA的观点。如果不花几天时间学习AKKA,我就不知道是否有办法将输出从接收器中分离出来。 谢谢