Hadoop生态环境之flume框架的简单介绍

作者: admin 分类: Hadoop 发布时间: 2018-03-08 14:58  阅读: 511 views

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

当前flume有两个版本flume-og,flume-ng.有很大不同

flume系统功能

1.日志收集

flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据。

2. 数据处理

flume提供对数据进行简单处理,并写道各种数据接收方的能力。Flume提供了从console(控制台),RPC、text\tail、syslog,exec等数据源上收集数据的能力。

工作方式

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

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

 

Flume的优势

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

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

3. 提供上下文路由特征

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

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

Flume的特征

1. Flume可以高效率的将多个网站服务器中收集的日志信息存入HDFS/HBase中

2. 使用Flume,可以将多个服务器中获取的数据迅速的移交给Hadoop中

3. 除了日志信息,Flume同时可以用来接入收集规模宏大的社交网络节点事件数据

4. 支持各种介入资源数据的类型以及接出数据类型

5. 支持多路径流量,多管道接入流量,多管道接出流量,上下文路由等

6. 可以水平扩展

 

Flume主要有source,channel,sink三个组件组成

source:

从数据发生器接收数据,并将接收的数据以Flume的event格式传递给一个或者多个通道channel,Flume提供多种数据接收的方式,如:avro,thrift,twitter等

channel:

是一种短暂的存储容器,它从source处接收到的event格式的数据缓存起来,直到他们被sinks消费掉,它在source和sink间起着一种桥梁的作用,channel是一个完整的事务,这点保证了数据在收发的时候的一致性,它可以和任意数量的source和sink链接。支持的类型有:JDBC channel,File System channel,Memort channel等

sink:

sink将数据存储到集中存储器比如Hbase和HDFS,它从channels消费数据(events)并将其传递给目标地,目标地可能是另一个sink,也可能HDFS,HBase.


   原创文章,转载请标明本文链接: Hadoop生态环境之flume框架的简单介绍

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

更多阅读