flume1.5.2安装与简介


关于flume的简介看参考:http://www.aboutyun.com/thread-7415-1-1.html

其实一张图就简单明了了


简单安装:

1.下载解压

。。。

2.配置JDK,flume-env.sh

3.配置flume的环境变量

。。。

4.创建一个实例文件(没有现成的,要自己创建)

test.conf

 1 agent1.sources = source1
 2 agent1.channels = channel1
 3 agent1.sinks = sink1
 4 
 5 agent1.sources.source1.type=spooldir
 6 agent1.sources.source1.spoolDir=/home/hadoop/testFlume
 7 agent1.sources.source1.channels=channel1
 8 agent1.sources.source1.fileHeader=false
 9 
10 agent1.sinks.sink1.type=hdfs
11 agent1.sinks.sink1.hdfs.path=hdfs://hadoop:8020/test
12 agent1.sinks.sink1.hdfs.fileType=DataStream
13 agent1.sinks.sink1.hdfs.writeFormat=Text
14 agent1.sinks.sink1.hdfs.rollInterval=4
15 agent1.sinks.sink1.channel=channel1
16 
17 agent1.channels.channel1.type = file
18 agent1.channels.channel1.checkpointDir=/home/hadoop/apache-flume-1.5.2-bin/tmp/checkpointDir2
19 agent1.channels.channel1.dataDirs=/home/hadoop/apache-flume-1.5.2-bin/tmp/dataDir2

5.启动
flume-ng agent -n agent1 -c conf -f /home/hadoop/apache-flume-1.5.2-bin/conf/test.conf -Dflume.root.logger=DEBUG,console

6.测试

在目标文件夹中随便编辑一个文件,然后在HDFS中查看就行


关于实例文件怎么写,可以参考包中的docs文件夹中的文档,其中三个组件source/sink/channel什么类型的怎么写都有介绍,比如HDFS的sink


关于启动命令的解释可以参考命令行help

其中第一个参数agent意思是启动一个flume的agent

第二个参数-n是指定启动哪个agent(因为flume是基于分布式的,可以有多个客户端,就是多个agent)

第三个参数-c conf是指定用哪些配置文件,这样指定是使用flume文件夹中的conf文件夹中的配置文件,也可以自己指定

第四个参数-f xxx 是指定实例文件和它的位置

第五个参数-Dflume.root.logger 是指定日志层次和显示,这里定义在DEBUG级别,方便学习,输出在console界面上

启动后会一直循环输出,即flume不断检查源,如果有输入则开始传输


这当然是最简单的实例,源可以设置为tomcat的日志文件夹,把所有日志文件自动传输到HDFS上,供分析统计


当然更高级一点的就涉及flume的架构涉及,可靠性设计,实时监控、灾难处理和负载均衡的问题

可以参考:http://tech.meituan.com/mt-log-system-arch.html


flume 中的 spooldir source不支持子目录-_-

不支持再编辑

编码要一致,否则会导致flume崩溃


 

posted @ 2014-12-17 17:29  Daem0n  阅读(1217)  评论(0编辑  收藏  举报