Flume学习笔记


一,Flume概述

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

  Flume的作用:支持在日志系统中定制各类数据的发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各数据的接受方(比如文本,HDFS,Hbase等)的功能。

二,组成

  1、 Flume分布式系统中最核心的角色是agent,Flume采集系统就是由一个个agent所连接起来形成每一个agent相当于一个数据传递员,内部有三个组件:

  a) Source:采集源,用于跟数据源对接,以获取数据。

  source类型

  b) Channel:angent内部的数据传输通道,用于从source将数据传递到sink。

  channel类型

 

  c) Sink:下沉地,采集数据的传送目的,用于往下一级agent传递数据或者往最终存储系统传递数据。

  sink类型

  2,Event: 一个数据单元,消息头和消息体组成Flume的数据流由事件(Event)贯穿始终。(Events可以是日志记录、 avro 对象等)Event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。

  3,Client:Client生产数据,运行在一个独立的线程。

  4,Flow: Event从源点到达目的点的迁移的抽象。

三,Flume安装环境(详见案例)

  1,下载apache-flume-1.6.0-bin.tar.gz。上传到虚拟机,解压。

  2,在/flume/conf下的flume-env.sh中配置JAVA_HOME。

  3,根据数据采集的需求配置采集方案,描述在配置文件中(文件名可任意自定义)

  4,指定采集方案配置文件,在相应的节点上启动flume agent

原文地址:https://www.cnblogs.com/songweideboke/p/9818675.html