Flume学习笔记(一)Flume 组成架构
前言
本文主要记录我在学习 Flume 过程中的一些知识的整理与记录,预计会做成一个系列来梳理一下 Flume 中的知识,本篇的主要内容为 Flume 的组成架构,文中如有疏漏与不足欢迎指正!
一、Flume 是什么
Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume 基于流式架构,灵活简单。其可以不断的监听数据源来将新产生的数据搬迁至目标,如将新产生的log 日志数据写入 HDFS。
二、Flume 组成架构
Flume 的组成架构图如下:
-
Agent
Agent 是一个 JVM 进程,其由三部分组成 Source,Channel,Sink。
Agent 以事件(event)的方式将数据从源头送往目的地。
-
Source
Source 是负责接受数据至 Agent,Flume 本身自带了非常多的 Source,让其能够处理各种来源和各种格式的日志数据,当然用户也可以自定义 Source 来满足使用需求。
-
Sink
Sink 负责将数据写入目的地,其不断的轮询 Channel 中是