flume很好用开源实时采集器,最新版的1.7版本加入了Taildir Source模块,支持多文件,文件夹数据变化动态监听,断点续传,也是1.7最重要的一个特性。
由于公司诸多限制需要对flume部分模块进行改造,重新打包使用。
PS:This version of Flume no longer supports Older Versions (0.8.x) of Kafka. 最新版1.7 flume不在支持kafka 0.8.x版本,如果不升级kafka集群版本,就会报throttle 错误。
另外,如果有条件翻墙的话,翻墙下载maven包,编译过程顺利很多。
Step 1:git clone https://git-wip-us.apache.org/repos/asf/flume.git 检索出来最新版本是1.8版本
Step 2: 进入检索的flume源码目录执行mvn install -DskipTests ,不对flume tests模块进行打包
出现上图恭喜你,你编译通过了,编译过程中会 遇到一些错误:
[ERROR] Failed to execute goal on project flume-ng-morphline-solr-sink: Could not resolve dependencies for project org.apache.flume.flume-ng-sinks:flume-ng-morphline-solr-sink:jar:1.8.0-SNAPSHOT: Failed to collect dependencies atorg.kitesdk:kite-morphlines-all:pom:1.0.0 -> org.kitesdk:kite-morphlines-useragent:jar:1.0.0 -> ua_parser:ua-parser:jar:1.3.0: Failed to read artifact descriptor for ua_parser:ua-parser:jar:1.3.0: Could not transfer artifact ua_parser:ua-parser:pom:1.3.0 from/to maven-twttr (http://maven.twttr.com): Connect to maven.twttr.com:80 [maven.twttr.com/46.82.174.68] failed: Connection timed out: connect -> [Help 1]
因为没有翻墙,无法下载该包,可以修改maven如下:
<repository>
<id>maven.tempo-db.com</id>
<url>http://maven.oschina.net/service/local/repositories/sonatype-public-grid/content/</url>
</repository>
重新执行 mvn clean install -DskipTests
编译过程还会遇到莫名的内存不够的报错,设置MAVEN_OPTS环境变量-Xmx512M -XX:MaxPermSize=512M
引用文章:http://blog.csdn.net/qianshangding0708/article/details/48087911