上都海奶茶馆 发表于 2015-9-17 09:42:49

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崩溃

  
页: [1]
查看完整版本: flume1.5.2安装与简介