栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Flume学习笔记

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故障才工作,保证采集正常进行

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/734299.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号