Flume学习笔记

 功能

分布式的实时文件、网络端口数据流采集,可以将各种不同数据源的数据实时采集到各种目的地

特点

实时采集 实时监听数据源,一有数据产生就采集

功能全面 大数据常用数据源和目标地都封装好了对应的接口

允许自定义开发 Java开发的源码,提供了自定义开发的接口

开发相对简单 开发一个配置文件,写入配置即可

可以实现分布式采集 本身不是分布式工具,可以实现分布式采集

架构

Agent:一个flume程序就是一个Agent

Event:flume采集的数据封装为Event对象进行传输

Source:实时监听数据源,数据源一产生数据就采集

Channel:负责临时存储采集到的数据,将所有Event临时存储

Sink:负责将Channel中的数据发送到目标地,主动从Channel取数

多数据源架构

 

 

设计目的:将一份数写入不同的目的地

多层架构

 

设计目的:防止多个Flume程序直接与目的地进行数据交互,影响目的地性能

使用方式

离线(采集到HDFS):配置Source 和Sink文件,启动Hive和HDFS, 在命令行提交运行

实时(采集到Kafka):配置Source 和Sink文件,采集到kafka,供实时计算程序消费

同类软件对比

Sqoop 底层是MapReduce,适合离线数据量特别大的采集

Flume 适合实时采集文件,网络端口

Canal 适合实时采集MySQL数据库

同类软件对比

sqoop 底层是MapReduce,适合离线数据量特别大的采集

Flume 适合实时采集文件,网络端口

Canal 适合实时采集MySQL数据库

高级组件

Interceptor:拦截器,在source将每条数据转换成event的时候,可以在event头铺添加kv或者对数据进行过滤

添加数据:

Timestamp Interceptor

Host Interceptor

Static Interceptor

过滤数据:

Regex Filtering Interceptor

Channel Select

默认source 的数据发往每个channel一份,可以根据Agent头部的key的不同,发往不同channel

Sink Processor

功能

负载均衡  

多个sink以sink group的方式一起工作,其中一个故障,还可以正常进行采集

故障转移

多个sink,一个工作,其他的不工作,只有在工作的sink故障才工作,保证采集正常进行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦㐅触及轮回

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值