标签:
官网下载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即可。
标签:
原文地址:http://www.cnblogs.com/hello-kelly/p/4630317.html