-2

我是flume的新手,所以请告诉我......如何使用flume将日志文件从我的本地机器存储到本地我的HDFS我在设置类路径和flume.conf文件时遇到问题

谢谢你,阿杰

4

3 回答 3

1
agent.sources = weblog
agent.channels = memoryChannel
agent.sinks = mycluster

## Sources #########################################################  
agent.sources.weblog.type = exec  
agent.sources.weblog.command = tail -F REPLACE-WITH-PATH2-your.log-FILE  
agent.sources.weblog.batchSize = 1  
agent.sources.weblog.channels =
REPLACE-WITH-
CHANNEL-NAME

## Channels ########################################################  
agent.channels.memoryChannel.type = memory  
agent.channels.memoryChannel.capacity = 100 agent.channels.memoryChannel.transactionCapacity = 100   

## Sinks ###########################################################   
agent.sinks.mycluster.type =REPLACE-WITH-CLUSTER-TYPE  
agent.sinks.mycluster.hdfs.path=/user/root/flumedata  
agent.sinks.mycluster.channel =REPLACE-WITH-CHANNEL-NAME

将此文件保存为 logagent.conf 并使用以下命令运行

# flume-ng agent –n agent –f logagent.conf &
于 2016-07-12T12:17:31.190 回答
0

我们确实需要更多信息来了解为什么事情对您有用。

简短的回答是,您需要一个 Source 来从(可能是假脱机目录源)、一个 Channel(如果您不需要可靠存储,则为内存通道)和 HDFS sink 读取您的数据。

更新

OP 报告收到错误消息,“您必须在水槽类路径中包含 conf 文件”。

您需要提供 conf 文件作为参数。您可以使用--conf-file参数执行此操作。比如我在开发中使用的命令行是: bin/flume-ng agent --conf-file /etc/flume-ng/conf/flume.conf --name castellan-indexer --conf /etc/flume-ng/conf

错误消息是这样读取的,因为bin/flume-ng脚本--conf-file在运行 Flume 之前将参数的内容添加到类路径中。

于 2013-05-19T00:02:51.680 回答
0

如果要将数据附加到本地文件,则可以使用带有“tail -F”命令的 exec 源。如果文件是静态的,使用 cat 命令将数据传输到 hadoop。

整体架构将是:

来源:执行源从您的文件中读取数据

通道:内存通道或文件通道

接收器:转储数据的 HDFS 接收器。

使用用户指南创建您的 conf 文件 ( https://flume.apache.org/FlumeUserGuide.html )

准备好 conf 文件后,您可以像这样运行它:

bin/flume-ng agent -n $agent_name -c conf -f conf/your-flume-conf.conf
于 2014-09-26T21:00:31.517 回答