本文以HBase0.98.0 为例,演示编译生成适用于Hadoop2.x 版本软件包的过程。
基本环境参数:
- Mac OSX 10.9.1
- Maven 3.0.4
- Java 1.6.0_65
- Hadoop 2.2.0
- HBase 0.98.0
源码编译的基本步骤:
1、下载源码
到HBase官方下载源码包(目前最新的是 hbase-0.98.0-src.tar.gz ),下载后解压:tar -zxvf hbase-0.98.0-src.tar.gz
。
2、生成对pom文件
运用 dev-support/generate-hadoopX-poms.sh 为相应的版本生成pom文件:
1 |
bash -x ./dev-support/generate-hadoopX-poms.sh 0.98.0 0.98.0-hadoop2 |
如果系统环境变量中已经配置了HBASE_HOME ,但它指向的路径不是该源码,需要把脚本
generate-hadoopX-poms.sh 中 hbase_home="${HBASE_HOME}"
修改成实际的源码路径:
hbase_home="/Users/micmiu/no_sync/opensource_code/hadoop/hbase-0.98.0"
3、编译源码
执行命令:
mvn -f pom.xml.hadoop2 install -DskipTests assembly:single -Prelease
执行成功的日志:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
[INFO] Building tar: /Users/micmiu/no_sync/opensource_code/hadoop/hbase-0.98.0/hbase-assembly/target/hbase-0.98.0-hadoop2-bin.tar.gz [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] HBase ............................................. SUCCESS [9.378s] [INFO] HBase - Common .................................... SUCCESS [11.283s] [INFO] HBase - Protocol .................................. SUCCESS [20.309s] [INFO] HBase - Client .................................... SUCCESS [11.170s] [INFO] HBase - Hadoop Compatibility ...................... SUCCESS [1.072s] [INFO] HBase - Hadoop Two Compatibility .................. SUCCESS [2.420s] [INFO] HBase - Prefix Tree ............................... SUCCESS [2.111s] [INFO] HBase - Server .................................... SUCCESS [47.402s] [INFO] HBase - Testing Util .............................. SUCCESS [1.508s] [INFO] HBase - Thrift .................................... SUCCESS [14.562s] [INFO] HBase - Shell ..................................... SUCCESS [2.273s] [INFO] HBase - Integration Tests ......................... SUCCESS [2.349s] [INFO] HBase - Examples .................................. SUCCESS [1.910s] [INFO] HBase - Assembly .................................. SUCCESS [1:31.851s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3:40.937s [INFO] Finished at: Thu Feb 20 12:51:37 CST 2014 [INFO] Final Memory: 48M/123M [INFO] ------------------------------------------------------------------------ micmiu-mbp:hbase-0.98.0 micmiu$ |
编译好的安装包在:<HBASE_SRC_HOME>/hbase-assembly/target/hbase-0.98.0-hadoop2-bin.tar.gz
常用编译参数说明:
- 忽略测试,请添加如下参数:
-DskipTests
- 添加MAVEN运行时jvm大小,请在mvn前面添加如下参数:
MAVEN_OPTS="-Xmx3g"
- 生成javadoc和文档,请添加如下参数:
javadoc:aggregate site assembly:single
- 生成release加入security和native包,请添加如下参数:
-Prelease,security,native
- 基于hadoop2.0进行编译,请添加如下参数:
-Dhadoop.profile=2.0
- 添加hadoop-snappy支持,请添加如下参数:
-Prelease,hadoop-snappy -Dhadoop-snappy.version=0.0.1-SNAPSHOT
- 如果你添加了一些java代码,在每个文件头没有添加license,则需要添加如下参数:
-Drat.numUnapprovedLicenses=200
ps:-Pnative 编译本地库时有错误,暂时还没有解决。
—————– EOF @Michael Sun —————–
原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]
本文链接地址: http://www.micmiu.com/bigdata/hbase/hbase-build-for-hadoop2/
0 条评论。