flume官网地址:http://flume.apache.org/
cdh版flume下载地址:http://archive.cloudera.com/cdh5/cdh/5/
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
一 下载
首先我们需要下载对应版本的tar.gz。
二 上传
使用WinSCP将刚刚下载的tar.gz上传到sparkproject1的/usr/local下。
三 解压
使用tar -zxvf flume-ng-1.5.0-cdh5.3.6.tar.gz命令解压,并使用mv命令将其重命名,然后删除tar.gz包。
四 配置环境变量
vi /etc/profile,配置完之后,我们使用source命令生效配置文件。
五 修改flume配置文件
vi /usr/local/flume/conf/flume-conf.properties
# agent1表示代理名称
agent1.sources=source1
agent1.sinks=sink1
agent1.channels=channel1
# 配置source1
agent1.sources.source1.type=spooldir
agent1.sources.source1.spoolDir=/usr/local/logs
agent1.sources.source1.channels=channel1
agent1.sources.source1.fileHeader = false
agent1.sources.source1.interceptors = i1
agent1.sources.source1.interceptors.i1.type = timestamp
# 配置channel1
agent1.channels.channel1.type=file
agent1.channels.channel1.checkpointDir=/usr/local/logs_tmp_cp
agent1.channels.channel1.dataDirs=/usr/local/logs_tmp
# 配置sink1
agent1.sinks.sink1.type=hdfs
agent1.sinks.sink1.hdfs.path=hdfs://sparkproject1:9000/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
六 创建需要的文件夹
七 启动flume-agent
flume-ng agent -n agent1 -c conf -f /usr/local/flume/conf/flume-conf.properties -Dflume.root.logger=DEBUG,console
八 测试flume
新建一份文件,移动到/usr/local/logs目录下,flume就会自动上传到HDFS的/logs目录中。
1、新建flume_test.txt文件
2、移动到/usr/local/logs目录下,控制台输入如下:
3、hdfs logs目录下生成一份文件。