Flume数据采集工具之agent

1.Flume介绍

Flume是一个分布式可靠、和高可用的海量日志采集、汇聚和传输的系统。

Flume可以采集文件,socket数据包(网络端口)、文件夹、kafka、mysql数据库等各种形式源数据,又可以将采集到的数据(下沉sink)输出到HDFS、hbase、hive、kafka等众多外部存储系统中

一般的采集、传输需求,通过对flume的简单配置即可实现;不用开发一行代码!

Flume针对特殊场景也具备良好的自定义扩展能力,因此,flume可以适用于大部分的日常数据采集场景

2. agent

Flume中最核心的角色是agent,flume采集系统就是由一个个agent连接起来所形成的一个或简单或复杂的数据传输通道。

对于每一个Agent来说,它就是一个独立的守护进程(JVM),它负责从数据源接收数据,并发往下一个目的地,如下图所示:

Agent的3个组件的设计思想,主要考虑的是:

source和sink之间解耦合,以及异步操作;

(channel可以让source组件和sink组件解耦合,并对数据源产生数据的速度波动起到削峰填谷的作用)

每一个agent相当于一个数据(被封装成Event对象)传递员,内部有3个核心组件:

  1. Source:采集组件,用于跟数据源对接,以获取数据;它有各种各样的内置实现;
  2. Sink:下沉组件,用于往下一级agent传递数据或者向最终存储系统传递数据
  3. Channel:传输通道组件(缓冲区),用于协调和解耦source & sink

单个agent采集数据

多级agent之间串联

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值