我的数据你在哪?我用Flume采你啦

Flume官网

文档查看地址:http://flume.apache.org/FlumeUserGuide.html

学习目标

1.会写conf文件,知道文件的格式是怎样的,遇到需求知道用什么组件,但是组件内部的元素可以不用记,去文档中查看。

2.会启动flume-agent进程

3.以上两点是比较基本的,当我们需要结合场景应用Flume的时候就需要我们了解Flume的内部原理从而优化它。

Flume基础架构概述

image-20211223202444828

基础架构包括source,channel,sink,agent,event这几个组件

source负责从日志数据所在服务器读取数据,并转换为一个个Event对象。
channel负责将source的Event对象存储处理。
sink从channel处理的数据中拿到对象并写入到目的地。
整个事件运行在agent进程上。
Event包含Header和Body,Header存放数据的属性,Body存放数据内容。

source、channel和sink都有多种分类。

比如source有 netcat source(从端口读数据), exec source(执行linux命令) ,spooling directory source (监控目录下的新文件)

taildir source (监控目录下多个追加文件)

channel 有file channel(将所有事 件写入到磁盘,在程序关机不会丢失数据,容量大) 和memory channel(在内存中运行,如果关机或重启会导致数据丢失,性能好)

sink有logger sinkhdfs sink等, 但是最合适的是放在hdfs上,毕竟HDFS就是用来存储数据的嘛!

Agent 内部原理

image-20211221105711063

重要组件:

1)ChannelSelector

ChannelSelector的作用就是选出Event将要被发往哪个Channel。其共有两种类型,分别是Replicating(复制)和Multiplexing(多路复用)。

ReplicatingSelector会将同一个Event发往所有的Channel,Multiplexing会根据相应的原则,将不同的Event发往不同的Channel。

2)SinkProcessor

SinkProcessor共有三种类型,分别是DefaultSinkProc

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值