Apache Flume-自定义拦截器-功能实现|学习笔记

简介: 快速学习 Apache Flume-自定义拦截器-功能实现

开发者学堂课程【Flume 基础应用实战-企业全场景解决方案Apache Flume-自定义拦截器-功能实现】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/715/detail/12777


Apache Flume-自定义拦截器-功能实现


自定义拦截器最终功能的实现

当开发好相关代码之后,需要把自定义拦截器的程序,打成一个 jar 包,因为配置的相关的 Maven 插件,所以点击选择 Maven project,选择 lifestyle 当中的Package 双击,这样就会在工程的 Package 目录下打上一个相关的jar包,静静地等待一会显示 build success,可以发现在 target 目录下有了一个 jar 包。

图片1.png

把这个 jar 包拖出来,这就是自定义拦截器jar 包。有了 jar 包后,需要把它  flume 的 lib 下,来到第一台机器上,第一步 cd 到 lib 当中,在这个文件夹路径下把 jar 包拖曳进来。

拖拽之后,接下来就是配置方案的编写。打开参考资料,有一个叫做 spool-interceptor-hdfs.conf 的文件 

图片2.png

打开看一下,里面列举出来了采用自定义拦截器收集数据的方案

首先定义了三个组件的名字。

Channel 是内存的 channel 缓存。

Source 绑定了 channel 为 c1,路径叫做 spooldir 类型,监控文件夹,这个文件在 /root/logs3/,下面是 batchsize,50一个批次

图片3.png

拦截器的内容是 i1,i2 两个拦截器,一个是它自带的时间拦截器,一个是自定义拦截器,注意包名一定要开发的时候保持一致,叫做 cn.itcast.interceptor ,所以这也叫 Interceptor&Builder我们的内部类

 

下面这些根据需求可以进行相关的修改

图片4.png

接下来把这个采集方案放在 Flume conf 路径下

打开 Flume,首先 cd 到 conf 当中编辑一下方案名字,配置好之后,一定要注意打开 insert 的编辑模式,把里面的参数复制过来,下面这个命令不要复制过来复制一遍,做一个相关的粘贴,保证当中的 ip 路径相关的参数包括包的路径保持一致,不然就会出错,接下来做一个保存完之后,准备下数据

图片5.png

它放在 /root/logs4/ 路径下因此来到 logs4 创建文件夹

cd 到 logs4 当中把刚才数据文件上传过来接下来就回到 Flume 当中执行一下 Flume,看一下它能不能进行数据的收集,收集到 Flume 上面之后,并且把数据做一个拦截加密的过程接下来打开文件当中的启动命令复制一下做一个执行

现在这些把文件写在这个路径下前缀后面叫 itcasr 后缀叫做 dat,处理完之后,看一下数据最终的结果长什么样

现在没有变因为还是一个临时文件,没有发生滚动

滚动控制条件20秒,可以发现现在滚动完毕。最后把这个文件下载下来,验证一下到底有没有对数据做相关的加密工作,右打开来看一下,可以发现左边是原始的数据当中有手机号,7个字,但数字当中,手机号做了一个 MD5 加密,而且只保留1356这四个字,这样就满足需求了。

在企业当中,这一个自定义拦截器用的比较多,因为每家公司可能都有自己的需求,不管是针对什么加密什么拦截什么处理只要按照它的规范来开发代码就可以满足于相关的需求,这就是我们自定义拦截器的功能实现。

相关文章
|
域名解析 Linux Apache
Linux Apache服务详解——虚拟网站主机功能实战
Linux Apache服务详解——虚拟网站主机功能实战
333 5
|
SQL 物联网 Apache
使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(11)
目前,IoTDB中不存在冲突的权限,因此用户的真正权限是用户自身权限和用户角色权限的结合。也就是说,要确定用户是否可以执行操作,取决于用户自己的权限之一或用户角色的权限是否允许该操作。用户自己的特权和用户角色的特权可能会重叠,但这并不重要。
363 1
|
存储 物联网 数据管理
使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(12)
现在到了使用Apache IoTDB进行IoT相关开发的架构设计与功能实现的最后一个环境,在本文中我将向大家介绍IoTDB的查询语言。IoTDB为咱们广大开发者提供了类似SQL的查询语言,用于与IoTDB进行交互,查询语言可以分为4个主要部分:架构语句、数据管理语句、数据库管理语句、功能。
398 0
|
SQL 传感器 物联网
使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(10)
物联网提供限制/限制条款和偏移/偏移子句,以使用户对查询结果有更多的控制权。使用 LIMIT 和 SLIMIT 子句允许用户控制查询结果的行数和列数,使用 OFFSET 和 SOFSET 子句允许用户设置结果的起始位置进行显示。
256 0
|
Shell
Flume【问题记录 01】【at org.apache.flume.node.Application.main(Application.java:xxx) 类问题整理+其他类型问题总结】【避坑指南】
【2月更文挑战第17天】Flume【问题记录 01】【at org.apache.flume.node.Application.main(Application.java:xxx) 类问题整理+其他类型问题总结】【避坑指南】
577 2
|
Java Linux
Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
【2月更文挑战第16天】Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
248 0
|
SQL Java 应用服务中间件
Apache Doris 自定义C++ UDF之流程详解(1)
Apache Doris 自定义C++ UDF之流程详解(1)
480 0
|
存储 SQL 数据管理
基于阿里云数据库 SelectDB 版内核 Apache Doris 全新分区策略 Auto Partition 应用场景与功能详解
自动分区的出现进一步简化了复杂场景下的 DDL 和分区表的维护工作,许多用户已经使用该功能简化了工作流程,并且极大的便利了从其他数据库系统迁移到 Doris 的工作,自动分区已成为处理大规模数据和应对高并发场景的理想选择。
486 0
|
运维 Linux Apache
LAMP架构调优(九)——Apache Rewrite功能实战
LAMP架构调优(九)——Apache Rewrite功能实战
142 1
|
存储 SQL Apache
Apache Hudi 1.x 版本重磅功能展望与讨论
Apache Hudi 1.x 版本重磅功能展望与讨论
196 4

热门文章

最新文章

推荐镜像

更多