欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Flume学习笔记

时间:2023-06-24
 功能

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

特点

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

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

允许自定义开发 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故障才工作,保证采集正常进行

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。