1. 目录
[TOC]
2. 基本环境
应用 | 版本 | 位数 | 备注 |
---|---|---|---|
系统 | CentOS 6.5 | 64 | |
JDK | 1.7.0_79 | 64 | |
Maven | 3.3.3 | ||
Hadoop | 2.6.0 | 64 | 已编译 |
HBase | 0.98.13-src |
3. 为何需要编译
如果运行 hbase 相关工具包,例如 hbase 的 Import
、Export
、CopyTable
会有以下相关问题:
在非 ResourceManager
节点上运行以上命令,会无法连接到 ResourceManager
,出现长串的以下相关错误,就是无法链接到 8032 端口,这就是 ResourceManager
1 2 |
Retrying connect to server: 0.0.0.0/0.0.0.0:8032 |
就算您去 ResourceManager
节点上运行以上命令,又会有另外的问题:
1 2 |
IllegalArgumentException: No enum constant JobCounter.MB_MILLIS_MAPS |
这里笔者只列举了几种错误;虽然种种问题都有解决方案,但是编译是最好的解决方法。
4. 编译步骤
4.1. 下载源码
地址: http://archive.apache.org/dist/hbase/
请选择 hbase-x.x.x--src.tar.gz
类似源码包
目前稳定的版本是 0.98.x ,我这里下载的是 0.98.13
解压 tar -zxvf hbase-0.98.13-src.tar.gz
4.2. 生成对应 hadoop 版本的 pom.xml 文件
1、cd hbase-0.98.13
2、修改 hbase_home
方式1:配置环境变量 vi /etc/profile
新增 HBASE_HOME
为当前源码路径。
方式2:vi dev-support/generate-hadoopX-poms.sh
修改 hbase_home
为您的源码路径,下面是我自己的路径
hbase_home="/usr/local/tarSoft/hbase-0.98.13"
3、运行命令生成 pom.xml.hadoop2
bash -x ./dev-support/generate-hadoopX-poms.sh 0.98.13 0.98.13-hadoop2
4.3. 编译源码
1、由于 hbase-0.98.x
默认的 jdk
是1.6的,如果您的当前环境不是,那么需要修改
pom.xml.hadoop2
中 <compileSource>1.6</compileSource>
为 <compileSource>1.7</compileSource>
2、由于 hbase-0.98.x
默认的 hadoop
是 2.2.0,如果您当前的环境不是,那么需要修改
pom.xml.hadoop2
中
<hadoop-two.version>2.2.0</hadoop-two.version>
为 <hadoop-two.version>2.6.0</hadoop-two.version>
3、开始编译,编译命令:
mvn -f pom.xml.hadoop2 install -DskipTests assembly:single -Prelease
4.4. 编译好的安装包路径
./hbase-assembly/target/hbase-0.98.13-hadoop2-bin.tar.gz
5. 参考
http://www.micmiu.com/bigdata/hbase/hbase-build-for-hadoop2/
原创文章,转载请注明: 转载自LoserZhao – 诗和远方[ http://www.loserzhao.com/ ]
本文链接地址: http://www.loserzhao.com/bigdata/build-hbase-0-98-13-on-hadoop-2-6-0.html
文章的脚注信息由WordPress的wp-posturl插件自动生成
0 条评论。