Flume源码编译、打包、修改Taildir Source支持递归

为什么要编译源码?

  1. 修改各组件版本,为了跟生产上其他组件版本匹配
  2. bug修复
  3. 新特性的增加
  4. 二次开发

flume源码编译

编译方式:IDEA + MAVEN
编译版本flume-ng-1.6.0-cdh5.15.1-src
编译注意事项
  1. 带cdh标志的部分jar包国内不方便下载,可以借助阿里云的香港云主机下载后拷贝到本地。

  2. 在flume-ng-sinks下的pom.xml中找到flume-ng-morphline-solr-sink模块并注释,因为jar下不来,也不常用。

    <modules>
    	<module>flume-hdfs-sink</module>
    	<module>flume-irc-sink</module>
    	<module>flume-ng-hbase-sink</module>
    	<module>flume-ng-elasticsearch-sink</module>
    	<!--<module>flume-ng-morphline-solr-sink</module> -->
    	<module>flume-ng-kafka-sink</module>
    </modules>
    
  3. 在 pom.xml 的 repositoies 中加入阿里云地址和 cdh 地址,加快 jar 包下载速度。

    <repository>
      <id>alimaven</id>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    
     <repository>
      <id>cdh.repo</id>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
      <name>Cloudera Repositories</name>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    
  4. 修改 pom.xml 的 JDK 版本,这里采用的 JDK1.8

    <javaVersion>1.8</javaVersion>
    
  5. 编译并打包,全局打包需要点击带 root 的目录下的package;若只想打包子模块,到子模块下点击 package。
    在这里插入图片描述

  6. 随便看一眼源码中的 README 文件,查看编译完成后jar包的目的地。

修改Taildir Source源码支持递归

flume-ng-1.6.0-cdh5.15.1-src 版本已经支持 Taildir Source 功能,但是不支持递归查找,所以需要修改这部分源码。
这里推荐一篇博客供大家参考,详细讲解了如何修改源码并实现可配置参数项,并在文章底部贴出了 Github 详细源码。

https://segmentfault.com/a/1190000019551664

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值