Hadoop生态圈之Flume(一)

Flume是一款由Cloudera提供的高可用、高可靠、分布式日志采集工具,核心是通过source、channel、sink完成数据采集、缓存和传输。本文详细介绍了Flume的运行机制、核心组件、安装部署、简单与复杂架构案例,以及load-balance和failover功能,帮助理解Flume在数据传输中的作用和配置方法。
摘要由CSDN通过智能技术生成

1. 概述

       Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的软件。

       Flume的核心是把数据从数据源(source)收集过来,再将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定成功,在送到目的地(sink)之前,会先缓存数据(channel),待数据真正到达目的地(sink)后,flume在删除自己缓存的数据。

2. 运行机制

  • flume 本身是一个 Java 进程,在需要采集数据机器上启动 ---->  agent 进程
  • agent 进程里面包含了:source(采集源)、sink(下沉地)、channel(数据传输通道)
  • 在整个数据的传输的过程中,流动的是event,它是Flume内部数据传输的最基本单元。event将传输的数据进行封装。如果是文本文件,通常是一行记录,event也是事务的基本单位。event从source,流向channel,再到sink,本身为一个字节数组,并可携带headers(头信息)信息。event代表着一个数据的最小完整单元,从外部数据源来,向外部的目的地去。
  • 一个完整的event包括:event headers、event body、event信息,其中event信息就是flume收集到的日记记录。

3. 核心组件

  • source:用于对接各个不同的数据源
  • sink:用于对接各个不同存储数据的目的地(数据下沉地)
  • channel:用于中间临时存储缓存数据

4. 运行架构

4.1 简单架构

只需要部署一个 agent 进程即可(单个 agent 采集数据)

4.2 复杂架构

       多个 agent 之间串联,相当于大家手拉手共同完成数据的采集传输工作,在串联的架构中没有主从之分,大家的地位都是一样的。

5. Flume 的安装部署

  1. 上传安装包到数据源所在节点上,然后解压  tar -zxvf apache-flume-1.8.0-bin.tar.gz,然后进入flume的目录,修改conf下的flume-env.sh,在里面配置JAVA_HOME
  2. 根据数据采集需求配置采集方案,描述在配置文件中(文件名可任意自定义)
  3. 指定采集方案配置文件,在相应的节点上启动flume agent

5.1 测试程序环境

(1)现在 flume 的 conf 目录下新建一个文件


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值