Flume(日志收集系统)介绍

Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集,聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力,
当前Flume有两个版本Flume0.9x版本的统称Flume-og,Flume1.x版本的统称Flume-ng,由于Flume-ng经过重大重构,与Flume-og有很大不同,使用时注意区分,

 日志收集

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

  数据处理

Flume提供对数据进行简单处理,并写到各种数据接受方(可制定)的呢能力,FLume提供了从console(控制台),RPC(Thrift-RPC),text(文件),tail(UNIX
tail),syslog(syslog日志系统),支持TCP和UDP等2种模式,exec(命令执行)等数据源上收集数据的能力.

  		工作方式

Flume-og采用了多Master的方式,为了保证配置数据的一致性,Flume引入了ZooKeeper,用于保存配置数据,Zookeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,Zookeeper可以通知Flume
Master节点,Flume Master间使用gossip协议同步数据
Flume-ng最明显的改动就是取消了集中管理配置的Master和Zookeeper,变为一个纯粹的传输工具,Flume-ng另一个主要的不同点事读入数据和写出数据由不同的工作线程处理(称为Runner),在Flume-og中,读入线程同样做写出工作(除了故障重试),如果写出慢的话,(不是完全失败),它将阻塞Flume接收数据的能力,这是异步的设计使读入线程可以顺畅的工作而无需关注下游的任何问题.

优势

1,Flume可以将应用产生的数据存储到任何集中存储器中,比如HDFS,HBase
2,当收集数据的速度超过写入数据的时候,也就是当收集信息遇到峰值时,这时候收集的信息非常大,甚至超过了系统的写入数据能力,这时候,Flume会在数据产生者和数据收容器做出调整,保证其能够在两者之间提供平稳的数据,
3.提供上下文路由特征 4,Flume的管道是基于事务,保证了数据在传递和接收时的一致性 5,Flume是可靠性,容错性高的,可升级,易管理的,并且可制定的

具有特征

1,Flume可以高效率的将多个网站服务器中收集的日志信息存入HDFS/HBase中
2,使用Flume,我们可以将从多个服务器中获取的数据迅速的移交给Hadoop
3,除了日志信息,Flume同事也可以用来接入收集规模宏大的社交网络接地那时间数据,比如facebook,twitter,电商网站如亚马逊.flipkart等
4,支持各种接入资源数据的类型以及接除数据类型 5,支持多路径流量,多管道接入流量,多管道接出流量,上下文路由等
6,可以被水平扩展

结构
Agent主要由:source.channel.sink三个组件组成
source:
从数据发生器接收数据,并将接收的数据以Flume的event合适传递给一个或者多个通道channel,Flume提供多种数据接收的方式,比如Avro,Thrift,twitter1%等
channel:
channel是一种短暂的存储容器,他将从source处接收到的event格式的数据缓存起来,知道他们被sinks消费掉,它在source和sink间起着桥梁的作用,channel是一个完整的事务,这一点保证了数据在收发的时候一致性,并且它可以和任意数量的soucce和sink链接,支持的类型有:JDBC channel ,File System channel ,Memory xhannel 等
sink:
sink将数据存储到集中存储器比如Hbase和HDFS,它从channels消费数据(events)并将其传递给目标地,目标地可能是另一个sink,也可能HDFS,HBase

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值