大数据源码编译系列——Flume-NG编译

  |   0 评论   |   1,993 浏览

准备环境

JDK8

Maven

Ant

Git

GCC

Cmake

编译Flume-NG

CDH发行版下载地址

准备文件

[root@nn1 native]# cd /usr/local/src/
[root@nn1 src]# wget http://archive.cloudera.com/cdh5/cdh/5/flume-ng-1.6.0-cdh5.11.1-src.tar.gz
[root@nn1 src]# tar zxvf flume-ng-1.6.0-cdh5.11.1-src.tar.gz -C /usr/local/src/
[root@nn1 src]# cd flume-ng-1.6.0-cdh5.11.1

修改Flume依赖的JDK版本

[root@nn1 flume-ng-1.6.0-cdh5.11.1]# sed -i "s/1.7/1.8/g" `grep javaVersion -rl /usr/local/src/flume-ng-1.6.0-cdh5.11.1/pom.xml`

否则会报以下错误

[WARNING] Rule 1: org.apache.maven.plugins.enforcer.RequireJavaVersion failed with message:
Detected JDK Version: 1.8.0-131 is not in the allowed range [1.7.0,1.7.1000}].

编译Flume

[root@nn1 flume-ng-1.6.0-cdh5.11.1]# mvn clean package -DskipTests

中间可能由某种原因,下载Jar包失败

[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.6.0-cdh5.11.1: Failed to collect dependencies at org.kitesdk:kite-morphlines-all:pom:1.0.0-cdh5.11.1 -> org.kitesdk:kite-morphlines-useragent:jar:1.0.0-cdh5.11.1 -> 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): maven.twttr.com:80 failed to respond -> [Help 1]

可换一个仓库下载

mvnrepository

[root@nn1 flume-ng-1.6.0-cdh5.11.1]# rm -f ~/.m2/repository/ua_parser/ua-parser/1.3.0/ua-parser-1.3.0.pom.lastUpdated 
[root@nn1 flume-ng-1.6.0-cdh5.11.1]# wget -O ~/.m2/repository/ua_parser/ua-parser/1.3.0/ua-parser-1.3.0.pom http://maven.twttr.com/ua_parser/ua-parser/1.3.0/ua-parser-1.3.0.pom
[root@nn1 flume-ng-1.6.0-cdh5.11.1]# wget -O ~/.m2/repository/ua_parser/ua-parser/1.3.0/ua-parser-1.3.0.jar http://maven.twttr.com/ua_parser/ua-parser/1.3.0/ua-parser-1.3.0.jar

编译结果

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Flume checkstyle project ........................... SUCCESS [  3.362 s]
[INFO] Apache Flume ....................................... SUCCESS [  0.433 s]
[INFO] Flume NG SDK ....................................... SUCCESS [ 10.121 s]
[INFO] Flume NG Configuration ............................. SUCCESS [  3.832 s]
[INFO] Flume Auth ......................................... SUCCESS [  6.197 s]
[INFO] Flume NG Core ...................................... SUCCESS [ 13.550 s]
[INFO] Flume NG Sinks ..................................... SUCCESS [  0.025 s]
[INFO] Flume NG HDFS Sink ................................. SUCCESS [  7.121 s]
[INFO] Flume NG IRC Sink .................................. SUCCESS [  3.019 s]
[INFO] Flume NG Channels .................................. SUCCESS [  0.021 s]
[INFO] Flume NG JDBC channel .............................. SUCCESS [  4.122 s]
[INFO] Flume NG file-based channel ........................ SUCCESS [  9.391 s]
[INFO] Flume NG Spillable Memory channel .................. SUCCESS [  2.877 s]
[INFO] Flume NG Node ...................................... SUCCESS [  4.340 s]
[INFO] Flume NG Embedded Agent ............................ SUCCESS [  3.430 s]
[INFO] Flume NG HBase Sink ................................ SUCCESS [  5.935 s]
[INFO] Flume NG ElasticSearch Sink ........................ SUCCESS [  5.630 s]
[INFO] Flume NG Morphline Solr Sink ....................... SUCCESS [01:23 min]
[INFO] Flume Shared Utils ................................. SUCCESS [  0.018 s]
[INFO] Flume Shared Kafka Test Utils ...................... SUCCESS [  1.735 s]
[INFO] Flume Kafka Sink ................................... SUCCESS [  3.835 s]
[INFO] Flume NG Kite Dataset Sink ......................... SUCCESS [ 48.016 s]
[INFO] Flume NG Hive Sink ................................. SUCCESS [ 20.030 s]
[INFO] Flume Sources ...................................... SUCCESS [  0.015 s]
[INFO] Flume Scribe Source ................................ SUCCESS [  3.228 s]
[INFO] Flume JMS Source ................................... SUCCESS [ 42.094 s]
[INFO] Flume Twitter Source ............................... SUCCESS [  9.498 s]
[INFO] Flume Kafka Source ................................. SUCCESS [  9.942 s]
[INFO] Flume Taildir Source ............................... SUCCESS [  4.603 s]
[INFO] flume-kafka-channel ................................ SUCCESS [  4.679 s]
[INFO] Flume legacy Sources ............................... SUCCESS [  0.019 s]
[INFO] Flume legacy Avro source ........................... SUCCESS [  2.801 s]
[INFO] Flume legacy Thrift Source ......................... SUCCESS [  4.067 s]
[INFO] Flume NG Clients ................................... SUCCESS [  0.011 s]
[INFO] Flume NG Log4j Appender ............................ SUCCESS [  8.715 s]
[INFO] Flume NG Tools ..................................... SUCCESS [  5.284 s]
[INFO] Flume NG distribution .............................. SUCCESS [ 30.478 s]
[INFO] Flume NG Integration Tests ......................... SUCCESS [ 11.609 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 06:20 min
[INFO] Finished at: 2017-06-24T20:51:38-07:00
[INFO] Final Memory: 576M/1141M
[INFO] ------------------------------------------------------------------------

查看编译生成的文件

[root@nn1 flume-ng-1.6.0-cdh5.11.1]# ll flume-ng-dist/target/
total 65640
drwxr-xr-x. 3 root root     4096 Jun 24 20:51 apache-flume-1.6.0-cdh5.11.1-bin
-rw-r--r--. 1 root root 66247223 Jun 24 20:51 apache-flume-1.6.0-cdh5.11.1-bin.tar.gz
drwxr-xr-x. 3 root root     4096 Jun 24 20:51 apache-flume-1.6.0-cdh5.11.1-src
-rw-r--r--. 1 root root   947374 Jun 24 20:51 apache-flume-1.6.0-cdh5.11.1-src.tar.gz
drwxr-xr-x. 2 root root     4096 Jun 24 20:51 archive-tmp
drwxr-xr-x. 3 root root     4096 Jun 24 20:51 maven-shared-archive-resources
[root@nn1 flume-ng-1.6.0-cdh5.11.1]# ll flume-ng-dist/target/apache-flume-1.6.0-cdh5.11.1-bin
total 4
drwxr-xr-x. 7 root root 4096 Jun 24 20:51 apache-flume-1.6.0-cdh5.11.1-bin
[root@nn1 flume-ng-1.6.0-cdh5.11.1]# ll flume-ng-dist/target/apache-flume-1.6.0-cdh5.11.1-bin/apache-flume-1.6.0-cdh5.11.1-bin/
total 144
drwxr-xr-x. 2 root root  4096 Jun 24 20:51 bin
-rw-rw-r--. 1 root root 77387 Jun 24 20:51 CHANGELOG
drwxr-xr-x. 3 root root  4096 Jun 24 20:51 cloudera
drwxr-xr-x. 2 root root  4096 Jun 24 20:51 conf
-rw-rw-r--. 1 root root  6172 Jun 24 20:51 DEVNOTES
drwxr-xr-x. 2 root root  4096 Jun 24 20:51 lib
-rw-rw-r--. 1 root root 27625 Jun 24 20:51 LICENSE
-rw-rw-r--. 1 root root   249 Jun 24 20:51 NOTICE
-rw-rw-r--. 1 root root  1779 Jun 24 20:51 README
-rw-rw-r--. 1 root root  1585 Jun 24 20:51 RELEASE-NOTES
drwxr-xr-x. 2 root root  4096 Jun 24 20:51 tools


读后有收获可以支付宝请作者喝咖啡