HBase基于Hadoop2的源码编译

本文以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文件:

如果系统环境变量中已经配置了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

执行成功的日志:

编译好的安装包在:<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 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">