Flume实用环境搭建:source(spooldir)+channel(file)+sink(hdfs)方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flume实用环境搭建:source(spooldir)+channel(file)+sink(hdfs)方式相关的知识,希望对你有一定的参考价值。

一、概述:

在实际的生产环境中,一般都会遇到将web服务器比如tomcat、Apache等中产生的日志倒入到HDFS中供分析使用的需求。这里的配置方式就是实现上述需求。

二、配置文件:

#agent1 name
agent1.sources=source1
agent1.sinks=sink1
agent1.channels=channel1


#Spooling Directory
#set source1
agent1.sources.source1.type=spooldir
agent1.sources.source1.spoolDir=/opt/flumetest/data

agent1.sources.source1.channels=channel1
agent1.sources.source1.fileHeader = false
agent1.sources.source1.interceptors = i1
agent1.sources.source1.interceptors.i1.type = timestamp

#set sink1
agent1.sinks.sink1.type=hdfs
agent1.sinks.sink1.hdfs.path=/home/hdfs/flume/logs
agent1.sinks.sink1.hdfs.fileType=DataStream
agent1.sinks.sink1.hdfs.writeFormat=TEXT
agent1.sinks.sink1.hdfs.rollInterval=1
agent1.sinks.sink1.channel=channel1
agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d

#set channel1
agent1.channels.channel1.type=file
agent1.channels.channel1.checkpointDir=/opt/flumetest/cp/point
agent1.channels.channel1.dataDirs=/opt/flumetest/cp

三、执行下述命令:

执行之前先确保上面配置文件中定义的文件夹都已经存在。

bin/flume-ng agent -n agent1 -c conf -f study/logs2hdfs.conf -Dflume.root.logger=DEBUG,console

source文件夹中的日志列表如下:

技术分享

四、查看hdfs中的数据:

技术分享

可以看到里面的数据文件都很小,这跟配置有关系,因为sink的配置里rollInterval配置的时间间隔太小导致的。可以根据需求在进行调整。

以上是关于Flume实用环境搭建:source(spooldir)+channel(file)+sink(hdfs)方式的主要内容,如果未能解决你的问题,请参考以下文章

003- Flume Source之HTTP

Flume环境搭建_五种案例

大数据系列|Flume的架构和环境安装

Flume之监控

flume搭建

利用Eclipse对Flume进行远程调试分析环境搭建