现在的位置: 首页 > 综合 > 正文

ubuntu 编译 hadoop 2.2.0 和hbase 0.96.1 过程记录

2018年04月08日 ⁄ 综合 ⁄ 共 3033字 ⁄ 字号 评论关闭

编译环境:

OS: Ubuntu 13.10 64-bit
Java: Jdk1.7.0_51


软件版本:

hadoop version: 2.2.0

hbase version:0.96.1


安装前的准备工作

安装依赖包:

sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev

安装cmake:

apt-get install cmake

安装maven:

网上说不要使用最新的 Maven3.1.1,与Maven3.0.x存在兼容性问题,编译过程会报如下错误:

java.lang.NoClassDefFoundError: org/sonatype/aether/graph/DependencyFilter


我之前装过Apache Maven 3.1.0,没到这个问题,建议安装3.0.5版本,下载地址:

http://mirrors.cnnic.cn/apache/maven/maven-3/


打patch:

不打patch会报如下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile (default-testCompile) on project hadoop-auth: Compilation failure: Compilation failure:
[ERROR] /home/chuan/trunk/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java:[84,13] cannot access org.mortbay.component.AbstractLifeCycle
[ERROR] class file for org.mortbay.component.AbstractLifeCycle not found

地址: https://issues.apache.org/jira/browse/HADOOP-10110

执行命令:

patch -p0 < HADOOP-10110.patch

安装protoc 2.5.0:

$ wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
$ tar -zxvf protobuf-2.5.0.tar.gz
$ cd protobuf-2.5.0
$ ./configure
$ make
$ sudo make install

再次编译hadoop报错:

not found at: protoc

执行命令:protoc --version 出现以下错误:

protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared object file: No such file or directory
解决办法: 

执行命令或者加到.bashrc中:export LD_LIBRARY_PATH=/usr/local/lib/  

再次执行命令:

$ protoc --version
libprotoc 2.5.0

修复pom文件中maven版本过低问题:

错误信息:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.0:site (default-site) on project hadoop-main: Execution default-site of goal org.apache.maven.plugins:maven-site-plugin:3.0:site failed: A required class was missing while executing org.apache.maven.plugins:maven-site-plugin:3.0:site: org/sonatype/aether/graph/DependencyFilter

解决办法:

http://dougchang333.blogspot.jp/2013/11/hadoop-build-error-javalangnoclassdeffo.html


安装Findbugs:

不安装会报如下错误信息:

hadoop-common-project/hadoop-common/${env.FINDBUGS_HOME}/src/xsl/default.xsl doesn’t exist. -> [Help 1]

软件地址:http://sourceforge.jp/projects/sfnet_findbugs/releases/

使用ant命令编译,后来编译还会报错,去掉了docs就没报了


编译Hadoop

执行命令:mvn clean package -Pdist,native -DskipTests -Dtar


编译hbase

执行命令:
mvn -e -Dmaven.test.skip.exec=true -Dhadoop.profile=2.0 package -Dtar -DskipTests assembly:single -Prelease -Drequire.snappy


hbase需要替换的包:

hadoop-common-2.2.0.jar

hadoop-hdfs-2.2.0.jar

hadoop-auth-2.2.0.jar


参数配置:

http://www.linuxidc.com/Linux/2013-11/93077p2.htm

参考:

http://blog.csdn.net/bamuta/article/details/13506893

http://blog.csdn.net/bamuta/article/details/13506843

http://blog.csdn.net/codepeak/article/details/13170601

http://blog.csdn.net/li385805776/article/details/17269497

http://www.kankanews.com/ICkengine/archives/81647.shtml

http://blog.csdn.net/w13770269691/article/details/16883663

http://blog.csdn.net/lalaguozhe/article/details/10580727

http://www.yanjiuyanjiu.com/blog/20140214/

http://f.dataguru.cn/thread-189176-1-1.html

http://blog.changecong.com/2013/10/ubuntu-%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85-hadoop-2-2-0/

http://blog.csdn.net/jiedushi/article/details/7496327

http://blog.csdn.net/Java_KFC/article/details/17258657

抱歉!评论已关闭.