本节讲解Flume 拦截器的开发。
开发环境:IntelliJ IDEA
java版本:1.8.0_101
源代码
一、创建工程
-
创建新的工程 File -> New -> Project…
-
选择Maven, 点Next,输入Name,Location,GroupId等信息,如下图所示:
-
配置pom.xml文件,添加flume-ng-core的依赖
<groupId>com.jack</groupId>
<artifactId>flume-interceptor</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>org.apache.flume</groupId>
<artifactId>flume-ng-core</artifactId>
<version>1.9.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
二、开发
- 创建包com.jack.flume.interceptor
- 创建java类,具体见源代码
类名 | 继承接口 | 说明 |
LogETLInterceptor | Interceptor | ETL 拦截器,验证日志的合法性 |
LogTypeInterceptor | Interceptor | 区分日志类型拦截器 |
LogUtils | 日志工具类 |
三、编译和发布
-
maven 打包,生成两个jar文件
-
上传flume-interceptor-1.0.0.jar文件到服务器
目录:/u01/flume-1.9.0/lib
电商数仓项目(一) 系统规划和配置
电商数仓项目(二) Maven 安装和hadoop-lzo编译
电商数仓项目(三) hadoop3.2.2 安装与配置
电商数仓项目(四) 模拟电商日志数据开发
电商数仓项目(五) azkaban安装、配置和使用
电商数仓项目(六) zookeeper安装和配置
电商数仓项目(七) kafka 安装、配置和简单操作
电商数仓项目(八) Flume(1) 安装和配置