一、Flume的产生背景
随着互联网技术的发展,人们对网络日志潜在的信息越来越重视,所以就想把这些日志收集起来,然后进行分析。但是大量的日志产生的位置比较分散,存储的目的地也很不一致,这就导致了数据采集的复杂性。Flume就是满足这种日志采集需求的一个软件框架
二、Flume是什么?
**Flume是什么:**通俗地说 Flume 就是一个日志采集工具。
特性:高可用、高可靠、具有分布式处理模式,可对数据进行简单处理。
版本进化过程:分为 Flume-og(0.9x 已停止更新了)、Flume-ng(1.x) 两个版本,Flume-ng最明显的改动就是取消了集中管理配置的 Master 和 Zookeeper,变为一个纯粹的传输工具。Flume-ng另一个主要的不同点是读入数据和写出数据现在由不同的工作线程处理(称为 Runner)。
数据处理方面: Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力 。提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统),支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。
三、Flume的特征
- Flume可以高效率的将多个网站服务器中收集的日志信息存入HDFS/HBase中
- 使用Flume,我们可以将从多个服务器中获取的数据迅速的移交给Hadoop中
- 除了日志信息,Flume同时也可以用来接入收集规模宏大的社交网络节点事件数据,比如facebook,twitter,电商网站如亚马逊,flipkart等
- 支持各种接入资源数据的类型以及接出数据类型
- 支持多路径流量,多管道接入流量,多管道接出流量,上下文路由等
- 可以被水平扩展
四、Flume的应用场景
在大数据实际应用中,Flume更多的被应用于日志的收集工作,根据不同的业务场景,Flume进行相关的配置,以满足譬如添加文件前缀,按日期生成文件存储目录等需求