Flume介绍

一、Flume架构图

Flume介绍-LMLPHP
含义
Source规定收集数据的来源
Channel相当于一个管道,连接source和sink
Sinkflume agent收集到数据后,数据写到哪里
 
使用Flume,就是定义好source,channel, sink, 它负责监控Linux文件系统,并将文件写入HDFS中
 

二、多个Flume整合

Flume介绍-LMLPHP
注意启动顺序!!!
    先启动node2,后启动node1(先启动后面的Flume2, 在启动前面的Flume1)
Flume介绍-LMLPHP
Nginx集群,每一个Nginx对应多个web server,再每一个web server安装Flume1,Flume2,Flume3...然后各个Flume交给总的Flume Agent,写入到HDFS中

三、Flume中Source, Channel, Sink的类型

 
 
    Flume Source
Source类型              | 说明
Avro Source            | 支持Avro协议(实际上是Avro RPC),内置支持
Thrift Source          | 支持Thrift协议,内置支持
Exec Source            | 基于Unix的command在标准输出上生产数据,监控文件的变化
JMS Source              | 从JMS系统(消息、主题)中读取数据
Spooling Directory Source | 监控指定目录内数据变更,监控目录的变化
Twitter 1% firehose Source|通过API持续下载Twitter数据,试验性质
Netcat Source          | 监控某个端口,将流经端口的每一个文本行数据作为Event输入
Sequence Generator Source | 序列生成器数据源,生产序列数据
Syslog Sources          | 读取syslog数据,产生Event,支持UDP和TCP两种协议
HTTP Source            | 基于HTTP POST或GET方式的数据源,支持JSON、BLOB表示形式
Legacy Sources          | 兼容老的Flume OG中Source(0.9.x版本)
 
    Flume Channel
Channel类型  说明
Memory Channel           | Event数据存储在内存中
JDBC Channel             | Event数据存储在持久化存储中,当前Flume Channel内置支持Derby
File Channel             | Event数据存储在磁盘文件中
Spillable Memory Channel   | Event数据存储在内存中和磁盘上,当内存队列满了,会持久化到磁盘文件
Pseudo Transaction Channel | 测试用途
Custom Channel           | 自定义Channel实现
 
    Flume Sink
Sink类型 说明
HDFS Sink        | 数据写入HDFS
Logger Sink      | 数据写入日志文件
Avro Sink        | 数据被转换成Avro Event,然后发送到配置的RPC端口上
Thrift Sink      | 数据被转换成Thrift Event,然后发送到配置的RPC端口上
IRC Sink          | 数据在IRC上进行回放
File Roll Sink    | 存储数据到本地文件系统
Null Sink        | 丢弃到所有数据
HBase Sink        | 数据写入HBase数据库
Morphline Solr Sink | 数据发送到Solr搜索服务器(集群)
ElasticSearch Sink | 数据发送到Elastic Search搜索服务器(集群)
Kite Dataset Sink | 写数据到Kite Dataset,试验性质的
Custom Sink      | 自定义Sink实现
 
 
05-11 17:06