8、Flume 日志采集工具

一、Flume 基本概念Flume 是流式日志采集工具,Flume 提供对数据进行简单处理并且写到各种数据接受方(可定制)的能力,Flume 提供从本地文件(spooldirectorysource)、实时日志(taildir、exec)、REST 消息、Thrift、Avro、Syslog、Kafka 等数据源上收集数据的能力。Flume 适用场景:应用系统产生的日志采集,采集后的数据供...
摘要由CSDN通过智能技术生成

一、Flume 基本概念

Flume 是流式日志采集工具,Flume 提供对数据进行简单处理并且写到各种数据接受方(可定制)的能力,Flume 提供从本地文件(spooldirectorysource)、实时日志(taildir、exec)、REST 消息、Thrift、Avro、Syslog、Kafka 等数据源上收集数据的能力。

Flume 适用场景:应用系统产生的日志采集,采集后的数据供上层应用分析。 Flume 不适用场景:大量数据的实时数据采集(要求低延迟、高吞吐率)。

与其他开源日志收集工具 scribe 比较而言,几乎不用用户开发,scribe 需要用户另外开发 client,而 Flume 每一种数据源均有相应的 source 去读取或者接收数据。

适用环境:

提供从固定目录下采集日志信息到目的地(HDFS,Hbase,Kafka)能力。提供实时采集日志信息(taildir)到目的地的能力。

Flume 支持级联(多个 Flume 对接起来),合并数据的能力。 Flume 支持按照用户定制采集数据的能力。

二、Flume 架构

(1)     Flume 的外部结构:

如上图所示,数据发生器(如:facebook,twitter)产生的数据被被单个的运行在数据发生器所在服务器上的 agent 所收集,之后数据收容器从各个 agent 上汇集数据并将采集到的数据存入到 HDFS 或者 HBase 中

(2)     Flume 事件

事件作为 Flume 内部数据传输的最基本单元.它是由一个转载数据的字节数组(该数据组是从数据源接入点传入,并传输给传输器,也就是 HDFS/HBase)和一个可选头部构成.

典型的 Flume 事件如下面结构所示:

我们在将 event 在私人定制插件时比如:flume-hbase-sink 插件是,获取的就是 event 然后对其解析,并依据情况做过滤等,然后在传输给 HBase 或者 HDFS.

(3)     FlumeAgent

我们在了解了 Flume 的外部结构之后,知道了 Flume 内部有一个或者多个Agent,然而对于每一个 Agent 来说,它就是一共独立的守护进程(JVM),它从客户端哪儿接收收集,或者从其他的 Agent 哪儿接收,然后迅速的将获取的数据传给下一个目的节点 sink,或者 agent.如下图所示 flume 的基本模型Agent 主要由三部分构成:Source、Channel 和 Sink

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值