现在的位置: 首页 > 大数据 > hadoop > 正文
hadoop系列之六:CentOS X64编译安装hadoop
2014年04月05日 hadoop, 大数据 ⁄ 共 2486字 暂无评论 ⁄ 被围观 4,627 views+

一、安装准备

1.1 安装protobuf

下载 http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

编译安装protobuf前,需要先安装gcc、gcc-c++、make等编译所必须的工具,编译安装过程如下:

[root@hdnode01 ~]# tar xf protobuf-2.5.0.tar.gz

[root@hdnode01 ~]# cd protobuf-2.5.0

[root@hdnode01 protobuf-2.5.0]# ./configure --prefix=/usr/local/protobuf

[root@hdnode01 protobuf-2.5.0]# make –j4

[root@hdnode01 protobuf-2.5.0]# make  install

便完成后,还需添加库文件和可执行文件路径:

[root@hdnode01 protobuf-2.5.0]# vi /etc/ld.so.conf ##添加如下一行

include /usr/local/protobuf/lib

修改 /etc/profile ,添加如下一行:

export PATH=/usr/local/protobuf/bin:$PATH

重新登录后验证是否安装正确:

[root@hdnode01 ~]# protoc --version
libprotoc 2.5.0

1.2 安装maven

maven的编译容易出错,所以最简单的办法是直接使用通用二进制文件:

下载:http://mirrors.cnnic.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz

安装:

[root@hdnode01 ~]# tar xf apache-maven-3.1.1-bin.tar.gz

[root@hdnode01 ~]# mv  apache-maven-3.1.1 /usr/local/

修改 /etc/profile ,添加如下一行:

export PATH=/usr/local/apache-maven-3.1.1/bin:$PATH

1.3 其他编译所需rpm包:

[root@hdnode01 ~]# yum -y install lzo-devel  zlib-devel  gcc autoconf automake libtool   ncurses-devel openssl-devel

二、编译hadoop 2.2.0

2.1 下载源码:

[root@hdnode01 ~]# wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0-src.tar.gz

[root@hdnode01 ~]# tar -xf hadoop-2.2.0-src.tar.gz

2.2 编译:

[root@hdnode01 ~]# cd hadoop-2.2.0-src
[root@hdnode01 hadoop-2.2.0-src]# mvn package -Pdist,native -DskipTests –Dtarcd

过程很长,需要在线下载很多相关资源,耐心等待。我只遇到了下面两个问题,如果遇到其他问题,请网上搜索处理即可。

编译完成后,hadoop-dist/target/目录下生成有hadoop-2.2.0-tar.gz文件,这个就是我们要的东东,后继安装配置,参照前文:hadoop的安装 即可。

2.3 问题处理:

问题1:

提示如下错误:

[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

解决办法,修改hadoop-common-project/hadoop-auth/pom.xml,添加如下10行:

<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<scope>test</scope>
</dependency>

问题2:

提示如下错误:

[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.2.0:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: ‘protoc –version’ did not return a version -> [Help 1]

检查protobuf安装是否正确,参考1.1部分。

给我留言

留言无头像?


×