在大数据实操中配置flume配置文件时,会遇到数据分发到hbase中,配置hbase sink的情况,在配置中会配置serializer 对应的类,这需要我们根据需求修改flume源码,重新编译生成jar包。以下是使用IDEA2020修改flume源码并重新编译生成jar包的方法。
下载Flume源码
在官网下载与安装配置的Flume版本相对应的源码。
官方网址https://downloads.apache.org/flume/
我使用的版本是1.7.0,源码对应的是src,应用对应的是bin。
对源码进行编译
进入源码下载的目录
打开cmd切换目录
执行maven编译命令
mvn clean compile
执行过程中报错,解决方法见https://blog.csdn.net/Defender_bakery/article/details/116599948
编译成功
标题将源码导入IDEA2020.1
建议将整个代码导入不然会报很多错
找到需要修改的类的位置
首先我们要明确使用到的类是什么,然后去按照需求修改就行。
具体的相关信息可以在官网上看到,我使用的是hbase异步接收器,官网上写道需要配置指定的实现类AsyncHbaseEventSerializer将flume接收到的数存储到到HBase。
在具体配置中也有这个类的具体位置
IDEA上具体的位置在
修改源码
秉持保护源码的原则,我们不直接在源代码上进行修改,新建一个类,把源码复制粘贴过去再进行修改。
1>新建类
新建类 KfkAsyncHbaseEventSerializer
2>将SimpleAsyncHbaseEventSerializer的代码复制粘贴过去