1. Flume简介
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
本文主要介绍Flume的实际操作,因此不对其原理和细节进行更多介绍,对于Flume的相关介绍可以参考以下文章:
分布式日志收集系统 —— Flume
Flume学习之路 (一)Flume的基础介绍
简单来说,在某些场景下,我们需要主动的去采集一些数据并希望将其转发至其他地方。例如,笔者想要实现将Kafka中的数据转存到HDFS中,但是Kafka和HDFS都是被动的服务,他们不具有主动将数据转发至其他服务的功能,而只能等其他请求来的时候才能对数据进行处理,为了实现这个目的,我们可以采用两种方式:1自己写一个程序,建立一个消费者将数据从Kafka取出,并创立一个HDFS连接,将其存入到数据库中;2.采用已有框架,实现上述功能,而Flume则是高效能的实现了预期功能。
2. Flume安装与配置
2.1 下载和解压
由于Flume是JAVA开发的框架,因此,在安装Flume前,首先要保证自己的服务器中安装并配置好了JAVA环境。
去官网下载Flume的最新版,地址如下: Flume官方下载地址。
下载-bin.gar.gz为后缀的压缩包,免安装版本解压配置后即可使用。笔者是下载至本地,用WinSCP上传到的Linux服务器中。在对应地文件夹下采用如下命令进行解压:
tar -zxvf apache-flume-ng-1.9.0-bin.tar.gz