Flume日志采集系统

Flume简介

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

Apache Flume不仅只限于日志数据的采集,由于Flume采集的数据源是可定制的,因此Flume还可用于传输大量事件数据,包括但不限于网络流量数据,社交媒体生成的数据、电子邮件消息以及几乎任何可能的数据源。

Flume运行机制

Flume的核心是把数据从数据源(如Web Server)通过数据采集器(Source)收集过来,再将收集的数据通过缓冲通道(Channel)汇集到指定的接收器(Sink)。

Flume基本架构中有一个Agent(代理),它是Flume的核心角色,Flume Agent是一个JVM进程,它承载着数据从外部源流向下一个目标的3个核心组件:Source、Channel和Sink。

Source(数据采集器):用于源数据的采集(从一个Web服务器采集源数据),然后将采集到的数据写入到Channel中并流向Sink。

Channel(缓冲通道):底层是一个缓冲队列,对Source中的数据进行缓存,将数据高效、准确地写入Sink,待数据全部到达Sink后,Flume就会删除缓存通道中的数据。

Sink(接收器):接收并汇集流向Sink的所有数据,根据需求,可以直接进行集中式存储(如采用HDFS进行存储),也可以继续作为数据源传入其他远程服务器或者Source中。

Flume安装配置

1、flume下载地址(选择所需的版本进行下载)

Index of /dist/flume (apache.org)icon-default.png?t=N7T8https://archive.apache.org/dist/flume/

2、将下载的安装包上传到虚拟机

3、将安装包进行解压(根据自己版本

tar zxvf apache-flume-1.8.0-bin.tar.gz

4、重命名为flume

5、配置

5.1)flume-env.sh配置

进入flume的目录中conf目录下的flume-env.sh系统环境配置文件,在里面配置Flume所依赖的JAVA_HOME。

在conf目录中默认没有该文件,需要先“cp flume-env.sh.template flume-env.sh”,然后打开flume-env.sh文件配置JAVA_HOME

1 cp flume-env.sh.template flume-env.sh

2  vim flume-env.sh

3 在文件中添加:export JAVA_HOME = /jdk的路径

4 保存退出

5.2)Flume系统环境变量配置

1 vim /etc/profile

2 添加以下内容:

export FLUME_HOME = /flume的路径

export PATH = $ PATH:$FLUME_HOME/bin

3 保存退出

4 刷新配置文件: source /etc/profile

Flume入门使用

1.配置Flume采集方案

        因为Flume要采集数据的类型和源头多种多样,并且根据开发需求还要进行不同类型的数据传输和汇总。

        为此,根据实际业务需求,Flume专门设计了匹配不同数据类型和传输要求的Flume Source、Flume Channel 和 Flume Sink。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值