您的位置:首页 > 运维架构

hadoop2.6.0本地编译,仅作学习记录

2015-07-08 15:19 435 查看
  官网下载hadoop二进制文件,安装部署,可以成功,但是每次运行命令之前均会报错Unable to load native-hadoop library for your platform hadoop,经查明为官网提供的是32位,但实际生产环境中一般均需要64位,下面就结合网上资料,整理编译64位hadoop2.6.0 的步骤。

  编辑环境为:redhat6.6 +jdk1.7+ hadoop-2.6.0-src.tar.gz

1、编译前准备

  我的安装目录均在/usr/server/下,后面配置不做特殊说明。

下载安装jdk,maven ,findbugs,protoc,实验版本分别为jdk1.7, apache-maven-3.3.3 ,findbugs-3.0.0,分别解压至/usr/server/目录下,改名为:jdk,maven,findbugs,protoc.修改环境变量,vim /etc/profile ,最后加上如下内容:

export JAVA_HOME=/usr/server/jdk/
export MAVEN_HOME=/usr/server/maven/
export FINDBUGS_HOME=/usr/server/findbugs
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$FINDBUGS_HOME/bin:$PATH

保存后,source /etc/profile 使其生效 验证:java -version ;mvn -version;findbugs -version ;

安装protoc ,实验版本,protobuf-2.5.0,下载解压至/usr/server

① tar -zxvf protobuf-2.5.0.tar.gz;② cd protobuf-2.5.0;③ ./configure --prefix=/usr/local/protoc/;④ make && make install。

配置环境变量 vim /etc/profile 添加:

export PROTOC_HOME=/usr/server/protoc/

export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$FINDBUGS_HOME/bin:$PROTOC_HOME/bin:$PATH

source /etc/profile 使其生效, protoc --version 验证

安装其他依赖项:① yum install -y gcc;② yum intall -y gcc-c++;③ yum install -y make,操作系统已安装,不必重复安装

① yum install -y cmake;② yum install -y openssl-devel;③ yum install -y ncurses-devel

2、编译

官网下载源码hadoop-2.6.0-src.tar.gz(http://www.apache.org/dyn/closer.cgi)解压至/usr/server 下,然后修改一个hadoop-2.x共有的bug(详见https://issues.apache.org/jira/browse/HADOOP-10110),编辑文件:usr/local/hadoop-2.6.0-src/hadoop-common-project/hadoop-auth/pom.xml,第55行左右增加如下内容:

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


然后进入目录/usr/local/hadoop-2.6.0-src中,执行命令:mvn package -DskipTests -Pdist,native,docs,其中docs根据需要添加

由于网络问题,可能需要很长时间,运气好的话,可以一次性成功,我这边编译了一天,中断了好几次,但是没关系,重新再一次执行命令mvn package -DskipTests -Pdist,native,docs,可以继续编译,当看到一堆success 的时候,就成功了。

编译好的包在/usr/server/hadoop-2.6.0-src/hadoop-dist/target/下 hadoop2.6.0 下,也可以直接拷贝lib目录覆盖已部署的32位hadoop中,重启hadoop即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: