HBase0.96.0 for Hadoop2.2.0编译

来源:互联网 发布:程序员纹身代码图案 编辑:程序博客网 时间:2024/04/27 23:57
        HBase部署的时候,lib下的Hadoop jar包要和集群的jar包一致,不然可能会产生各种错误。笔者部署的是Hadoop2.2.0集群,所支持的HBase0.96.0安装包并没有带Hadoop2.2.0的jar 包,虽然可以通过在Hadoop2.2.0的安装目录中找到相应的2.2.0版本jar包进行替换,但还是比较麻烦,不过可以通过编译HBase源码可以获取支持Hadoop2.2.0的Hbase安装包。
        HBase0.96.0不能同时对hadoop1版和hadoop2版进行编译,必须分开编译,编译之前需要使用 dev-support/generate-hadoopX-poms.sh为相应的版本生成pom文件,然后再进行编译。下面为HBase0.96.0 for Hadoop2.2.0的编译过程:

1:下载HBase源代码,并解压缩,然后赋予读写权限
[root@hadoop1 hadoop]# tar zxf hbase-0.96.0-src.tar.gz
[root@hadoop1 hadoop]# mv hbase-0.96.0 /app/hbase096_src
[root@hadoop1 hadoop]# chown -R hadoop:hadoop /app/hbase096_src
[root@hadoop1 hadoop]# cd /app/hbase096_src/dev-support
[root@hadoop1 dev-support]# chmod +x *.sh

2:修改pom.xml中hadoop2版本信息,并生成pom.xml.hadoop2
[root@hadoop1 app]# su - hadoop
[hadoop@hadoop1 ~]$ cd /app/hbase096_src/
[hadoop@hadoop1 hbase096_src]$ vi pom.xml
<hadoop-two.version>2.2.0</hadoop-two.version>
[hadoop@hadoop1 hbase096_src]$ dev-support/generate-hadoopX-poms.sh 0.96.0 0.96.0-hadoop2

3:编译
[hadoop@hadoop1 hbase096_src]$ MAVEN_OPTS="-Xmx3g" mvn -f pom.xml.hadoop2 install -DskipTests assembly:single -Prelease
HBase0.96.0 for Hadoop2.2.0编译 - mmicky - mmicky 的博客
生成的安装包位于hbase-assembly/target/hbase-0.96.0-hadoop2-bin.tar.gz

4:tips
A:HBase0.96.0在编译本地二进制(-Pnative)和编译压缩编码器(-Dsnappy)会出错,留待以后解决。
B:编译生成的部署包若想带上文档,使用MAVEN_OPTS="-Xmx3g" mvn -f pom.xml.hadoop2 install -DskipTests site assembly:single -Prelease
0 0
原创粉丝点击