大数据日志采集框架----Flume

Flume日志采集框架

    • Flume介绍
      • 概述
      • 版本
      • 运行环境需求
    • Flume架构
    • Flume运行机制
    • Flume采集系统结构图
      • 多级agent流动
      • 数据流合并(扇入流)
      • 数据流复用(扇出流)

Flume介绍

概述

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

版本

版本 统称 说明
Flume0.9X Flume-og 老版本的Flume-og需要引入zookeeper集群管理,性能比较低(单线程工作)
Flume1.X Flume-ng 重构后的Flume-ng,脱离了zookeeper的依赖,当前使用flume基本使用的Flume-ng

运行环境需求

JDK1.6以上,推荐JDK1.7或1.8

Flume架构

大数据日志采集框架----Flume_第1张图片

  • flume的核心是把数据从数据源source整理收集,发送到指定的目的地sink,为了确保输送过程成功,在发送sink目的地之前,先缓存数据在channel,待数据确认到达目的地sink后,flume再从channel中删除数据缓存。
  • flume的数据传输,使用的event,event在source中通过把数据进行封装,作为数据的传输的基本单位,从source流向channel最终流向sink。
  • event包括:1.event headers 2.event body 3.event 信息(即文本文件的单行记录,也可以简单理解为单行的日志记录)

Flume运行机制

  1. Flume分布式系统中最核心的角色是agent(代理),agent本身是个java进程,flume采集系统就是由一个个agent所连接起来形成
  2. 每一个agent相当于一个数据传递员,内部有三个组件:source组件,channel组件,sink组件
  3. 整体架构类似:生产者,仓库,消费者
    大数据日志采集框架----Flume_第2张图片

Flume采集系统结构图

多级agent流动

大数据日志采集框架----Flume_第3张图片

数据流合并(扇入流)

大数据日志采集框架----Flume_第4张图片

数据流复用(扇出流)

大数据日志采集框架----Flume_第5张图片

你可能感兴趣的:(大数据-Flume)