大数据系列之日志采集Flume(一)Flume简介,架构组成与工作流程,安装

1.Flume简介

  Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

  当前Flume有两个版本Flume 0.9X版本的统称Flume-og,Flume1.X版本的统称Flume-ng。由于Flume-ng经过重大重构,与Flume-og有很大不同,使用时请注意区分。

  Flume-og采用了多Master的方式。为了保证配置数据的一致性,Flume引入了ZooKeeper,用于保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知Flume Master节点。Flume Master间使用gossip协议同步数据。

  Flume-ng最明显的改动就是取消了集中管理配置的 Master 和 Zookeeper,变为一个纯粹的传输工具。Flume-ng另一个主要的不同点是读入数据和写出数据现在由不同的工作线程处理(称为 Runner)。 在 Flume-og 中,读入线程同样做写出工作(除了故障重试)。如果写出慢的话(不是完全失败),它将阻塞 Flume 接收数据的能力。这种异步的设计使读入线程可以顺畅的工作而无需关注下游的任何问题。

                       

  Flume是收集,移动,聚合大量日志数据的服务。基于流数据的架构,用于在线日志分析。其基于事件,在生产者和消费者之间启动协调作用。提供了事务保证,确保消息一定被分发。具有的优势如下:

1. Flume可以将应用产生的数据存储到任何集中存储器中,比如HDFS,HBase

2. 当收集数据的速度超过将写入数据的时候,也就是当收集信息遇到峰值时,这时候收集的信息非常大,甚至超过了系统的写入数据能力,这时候,Flume会在数据生产者和数据收容器间做出调整,保证其能够在两者之间提供平稳的数据.

3. 提供上下文路由特征

4. Flume的管道是基于事务,保证了数据在传送和接收时的一致性.

5. Flume是可靠的,容错性高的,可升级的,易管理的,并且可定制的。

2.架构组成与工作流程

如上图所示,Flume是由一个个Agent组成的,Agent是Flume的最小组成单元,每个Agent有事由3部分组成的,分别是Source,Channel,Sink。

Source:主要用来接收数据,类型有多种。Source可以监听一个或者多个网络端口,用来接收数据或者从本地文件系统读取数据,每个Source至少连接一个Channel,Source可以写入多个Channel,Source的包括多种类型:netcat,exec,spooling directory source等等。

Channel:临时存放地,对Source中来的数据进行缓冲,直到Sink消费掉。当flume的Source读取了外部的数据后,flume会将数据存放到一个或多个Channel中,然后Channel将其缓存起来(数据可以放在内存,也可以在磁盘)等待Sink消费掉。

Sink:从channel提取数据存放到中央化存储。Sink主要是HDFS.,HBASE,HIVE等等。一个Sink只能从一个Channel中获取数据。

flume的工作流程图如下所示(图片来源于网上)

          

我们可以看到在流程中一个Source可以连接到多个Channel上,而一个Sink只能连接到一个Channel上获取数据,Sink可以直接存到中央话存储,也可以输出到另外一个Agent中,作为另外一个Agent的消息源输入带Source中。

3.Flume的安装(软件包放在最后提供下载)

    1.下载
    2.tar开

    3.建立符号链接

     ln -s apache-flume-1.7.0-bin  flume
    4.环境变量[/etc/profile]

    #flume
   export FLUME_HOME=/home/zpx/soft/flume
   export PATH=$PATH:$FLUME_HOME/bin

   然后 source /etc/profile
    5.验证flume是否成功
        $>flume-ng version            //next generation.下一代.

              

软件包:

链接:https://pan.baidu.com/s/1IVsb56QI_NmjbbbyuxJKfw 密码:bxn8

猜你喜欢

转载自blog.csdn.net/u011444062/article/details/81186475