2440 发表于 2015-11-27 18:08:13

flume指南

1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去

2.flume里面有个核心概念,叫做agent。agent是一个java进程,运行在日志收集节点

3.agent里面包含3个核心组件:source、channel、sink

3.1 source组件是专用于收集日志的,可以处理各种类型各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy、自定义。    source组件把数据收集来以后,临时存放在channel中。
3.2 channel组件是在agent中专用于临时存储数据的,可以存放在memory、jdbc、file、自定义。    channel中的数据只有在sink发送成功之后才会被删除。
3.3 sink组件是用于把数据发送到目的地的组件,目的地包括hdfs、logger、avro、thrift、ipc、file、null、hbase、solr、自定义。
4.在整个数据传输过程中,流动的是event。事务保证是在event级别。

5.flume可以支持多级flume的agent,支持扇入(fan-in)、扇出(fan-out)。

6.example

#agent1表示代理名称agent1.sources=source1agent1.sinks=sink1agent1.channels=channel1

#Spooling Directory是监控指定文件夹中新文件的变化,一旦新文件出现,就解析该文件内容,然后写入到channle。写入完成后,标记该文件已完成或者删除该文件。#配置source1agent1.sources.source1.type=spooldiragent1.sources.source1.spoolDir=/root/hmbbsagent1.sources.source1.channels=channel1agent1.sources.source1.fileHeader = falseagent1.sources.source1.interceptors = i1agent1.sources.source1.interceptors.i1.type = timestamp
#配置sink1agent1.sinks.sink1.type=hdfsagent1.sinks.sink1.hdfs.path=hdfs://hadoop0:9000/hmbbsagent1.sinks.sink1.hdfs.fileType=DataStreamagent1.sinks.sink1.hdfs.writeFormat=TEXTagent1.sinks.sink1.hdfs.rollInterval=1agent1.sinks.sink1.channel=channel1agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d
#配置channel1agent1.channels.channel1.type=fileagent1.channels.channel1.checkpointDir=/root/hmbbs_tmp123agent1.channels.channel1.dataDirs=/root/hmbbs_tmp#以上两tiao不能使同一个
7. 测试一下
bin/flume-ng agent -n agent1 -c conf -f conf/example -Dflume.root.logger=DEBUG,console-n agent名字,-c 配置文件位置
安装过程
1. 下载apache-flume-1.4.0-bin.tar.gz及apache-flume-1.4.0-src.tar.gz2. 解压,并把src下的文件,复制到bin下cp -ri apache-flume-1.4.0-src/* apache-flume-1.4.0-bin3.修改配置文件名 mv flume-conf.properties.template flume-conf.properties4. 修改环境变量 vi /etc/profile source /etc/profile
页: [1]
查看完整版本: flume指南