日志收集之 Flume 详细介绍

今天给大家介绍个日志处理的工具。
一、Flume简介

  1. Flume 提供一个分布式的,可靠的,对大数据量的日志进行高效收集、聚集、移动的服务,Flume 只能在 Unix 环境下运行。

  2. Flume 基于流式架构,容错性强,也很灵活简单。

  3. Flume、Kafka 用来实时进行数据收集,Spark、Storm 用来实时处理数据,impala 用来实时查询。

二、Flume中的角色
在这里插入图片描述
2.1 Source
用于采集数据,Source 是产生数据流的地方,同时 Source 会将产生的数据流传输到 Channel,这个有点类似于Java IO 部分的 Channel。
2.2、Channel
用于桥接 Sources 和 Sinks,类似于一个队列。
2.3、Sink
从Channel 收集数据,将数据写到目标源(可以是下一个 Source,也可以是 HDFS 或者 HBase)。
2.4、Event
传输单元,Flume 数据传输的基本单元,以事件的形式将数据从源头送至目的地。
三、Flume传输过程
source 监控某个文件或数据流,数据源产生新的数据,拿到该数据后,将数据封装在一个Event 中,并 put 到 channel 后 commit 提交,channel 队列先进先出,sink 去 channel 队列中拉取数据,然后写入到 HDFS 中。
四、Flume安装
Flume的安装极其简单,只需要在Flume安装目录下的conf目录下,将flume-env.sh.template 修改为 flume-env.sh,然后在文件里修改 JDK的安装路径即可。

猜你喜欢

转载自blog.csdn.net/Forever_ck/article/details/84666558