概述
关于flume ng的简单介绍,可以参考flume ng进击之路 (一)—— 入门,同时flume ng也提供了各种各样的source和sink接口供我们在生成环境中使用,但是在生产环境中,我们常常需要定制的source或者sink来满足我们的要求。
好在flume ng提供了开放接口,我们可以根据这些接口,实现自己定制的source或者sink。下面我们来看一下如何实现自定义source框架。
实现
maven依赖
首先,要根据flume ng提供的接口来实现自定义source,需要我们依赖flume ng的配置,我们引入两个配置flume-ng-core和flume-ng-configuration,具体的maven配置如下:
<dependency>
<groupId>org.apache.flume</groupId>
<artifactId>flume-ng-core</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.flume</groupId>
<artifactId>flume-ng-configuration</artifactId>
<version>1.6.0</version>
</dependency>
source都包含哪些东西
在正式开始之前,我们先看看官网上一个source是如何使用的。我们在使用source的时候,只需要简单的配置一个文件,比如我们看看官网的Spooling Directory Source是如何监控一个文件夹的文件变化并且抓取的。
简单的配置如下:
a1.channels = ch-1
a1.sources = src-1
a1.sources.src-1.type = spooldir
a1.sources.src-