Flume 理论

2018-07-05  本文已影响28人  袭明

1. Flume 简介

Flume 是一个分布式的海量日志采集,聚合,转移工具。

大数据常用数据处理框架

graph LR
实时流数据采集--> flume,kafka
实时流数据处理--> spark,storm
实时数据查询处理--> impala
批数据导入导出-->Sqoop
批数据查询处理--> hive

这里只是给flume一个定位,清楚flume适合做哪方面的数据处理。

即:flume是基于数据流的组件来实现分布式的数据采集

flume使用简单,仅需写一个配置文件,即可完成一个分布式,高可用,可靠的实时数据流采集任务。

2.数据流模型

Data Flow Model

重要概念:

Flume运行的核心是Agent.Flume以agent为最小的独立运行单位。一个agent包含三个核心组件,source,channel,sink.

2.1 Source

这里主要看下Avro,Spooling,Netcat,kafka

Source类型 说明
Avro 支持avro 协议
Spooling 监听本地文件夹,把新增的文件采集到flume
netcat 从网络端口接受文本数据(多用于测试调试)
kafka 用于从kafka中读取数据

2.2 Channel

Channel类型 说明
Memory Event 数据存储在内存中
File Event数据存储在磁盘文件中

2.3 Sink

Sink 类型 说明
logger 把数据输出成logger日志(测试调试)
hdfs 把数据写入hdfs
avro 发送到此接收器的flume event将转化为avro event 并发送至配置的主机名:端口号
kafka 将数据发送至kafka

上一篇下一篇

猜你喜欢

热点阅读