linux下hadoop2.6.1源码64位的编译
2018-02-02 09:22
561 查看
转自http://blog.csdn.net/yaoxtao/article/details/49488181
一、 前言
Apache官网上提供的hadoop本地库是32位的,如果我们的Linux服务器是64位的话,就会现问题。
我们在64位服务器执行Hadoop命令时,则会报以下错误:
WARNutil.NativeCodeLoader: Unable to load native-hadoop
library for yourplatform... using builtin-java classes where applicable
为了解决上述问题,我们就需要自己编译一个64位的hadoop版本。
二、编译hadoop2.6.1需要的软件
[align=left]jdk 1.7[/align]
[align=left]gcc 4.4.5[/align]
[align=left]maven 3.3.3[/align]
[align=left]protobuf 2.5.0[/align]
[align=left]cmake 2.8.12.2[/align]
[align=left]ant 1.9.6[/align]
[align=left]finbugs(可选择)[/align]
注意:
1)在百度中搜索各个软件的名称,最好到官网上下载,下载软件一定注意软件的版本。
2)finbugs不是编译所必须的软件,可以不下载。
三、编译软件的安装
1.jdk的安装
[align=left]解压 tar -zxvf jdk-7u79-linux-x64.tar.gz[/align]
[align=left]配置环境变量,编辑/etc/profile文件[/align]
[align=left]export JAVA_HOME=/opt/jdk1.7.0_25[/align]
[align=left]export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar[/align]
[align=left]export PATH=$PATH:$JAVA_HOME/bin[/align]
[align=left]source /etc/profile 刷新修改的环境变量[/align]
[align=left]java -version 检查jdk是否安装成功。有以下版本号输出即为成功。[/align]
![](https://img-blog.csdn.net/20151029112653229?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.gcc的安装
一般linux上会自带了gcc的安装,所以在安装以前,先检查一下服务器上是否已经安装了gcc。
输入:gcc -v
如果有以下输出,则这说明已经安装了gcc
如机器上没有安装gcc,请自行安装。
3.maven的安装
[align=left]解压tar -zxvf apache-maven-3.3.3-bin.tar.gz [/align]
[align=left]配置环境变量,编辑/etc/profile[/align]
[align=left]export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin[/align]
[align=left]source /etc/profile 刷新修改的环境变量[/align]
[align=left]mvn -version 检查maven是否安装成功。有以下版本号输出即为成功。[/align]
![](https://img-blog.csdn.net/20151029112900893?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4.protobuf的安装
[align=left]解压tar -zxvf protobuf-2.5.0.tar.gz[/align]
[align=left]进入protobuf的解压目录。如:cd /opt/protobuf-2.5.0/[/align]
[align=left]在安装目录下,执行以下命令:[/align]
[align=left]./ configure[/align]
[align=left]make[/align]
[align=left]make check[/align]
[align=left]make install[/align]
[align=left]protoc --version(注意命令中是两个-) 检查protoc是否安装成功。有版本号输出即为成功。[/align]
![](https://img-blog.csdn.net/20151029112949827?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5.cmake的安装
[align=left]tar -zxvf cmake-2.8.12.2.tar.gz[/align]
[align=left]进入cmake的解压目录。如:cd /opt/cmake-2.8.12.2/[/align]
[align=left]在安装目录下,执行以下命令:[/align]
[align=left]./ bootstrap[/align]
[align=left]make[/align]
[align=left]make install[/align]
[align=left]cmake -version 检查cmake是否安装成功。有版本号输出即为成功。[/align]
![](https://img-blog.csdn.net/20151029113052889?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
6.ant的安装
[align=left]解压tar -zxvf apache-ant-1.9.6-bin.tar.gz[/align]
[align=left]编辑环境变量,编辑/etc/profile[/align]
[align=left]export ANT_HOME=/opt/apache-ant-1.9.6[/align]
[align=left]export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$ANT_HOME/bin[/align]
[align=left]source /etc/profile 刷新修改的环境变量[/align]
[align=left]ant -version检查ant是否安装成功。有以下版本号输出即为成功。[/align]
![](https://img-blog.csdn.net/20151029113145115?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
7.安装必要的包
[align=left]安装 autotool[/align]
[align=left]执行命令:yum install autoconf automake libtool[/align]
[align=left]安装 openssl-devel[/align]
[align=left]执行命令:yum install openssl-devel[/align]
四、编译hadoop2.6.1
[align=left]在Apache官网上,下载hadoop-2.6.1的源码包hadoop-2.6.1-src.tar.gz。[/align]
[align=left]解压源码包tar -zxvf hadoop-2.6.1-src.tar.gz[/align]
[align=left]进入hadoop-2.6.1-src解压目录。cd /opt/hadoop-2.6.1-src/[/align]
[align=left]执行命令mvn clean package -Pdist,native -DskipTests -Dtar 进行编译。[/align]
[align=left]编译过程中,需要下载很多包,等待时间比较长。当看到hadoop各个项目都编译成功,即出现一系列的SUCCESS之后,即为编译成功。[/align]
[align=left]编译好的安装包hadoop-2.6.1.tar.gz,可以在文件目录hadoop-2.6.1-src/hadoop-dist/target/下找到。[/align]
五、注意事项
编译过程中需要下载安装包,有时候可能由于网络的原因,导致安装包下载不完整,而出现编译错误。
错误1:
Remote host closed connection during handshake: SSL peer shut down incorrectly.......
解决方案:需要重新新多编译几次即可通过。
错误2:
A required class was missing while executing XXXXXX,
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy [ERROR]urls[0] =file:/root/.m2/repository/org/codehaus/mojo/jspc/jspc-maven-plugin/2.0-alpha-3/jspc-maven-plugin-2.0-alpha-3.jar
[ERROR]urls[1]=file:/root/.m2/repository/org/codehaus/mojo/jspc/jspc-compiler-tomcat5/2.0-alpha-3/jspc-compiler-tomcat5-2.0-alpha-3.jar
[ERROR]urls[2]=file:/root/.m2/repository/tomcat/jasper-compiler/5.5.15/jasper-compiler-5.5.15.jar
[ERROR]urls[3]=file:/root/.m2/repository/javax/servlet/jsp-api/2.0/jsp-api-2.0.jar
[ERROR]urls[4]=file:/root/.m2/repository/ant/ant/1.6.5/ant-1.6.5.jar
[ERROR]urls[5]=file:/root/.m2/repository/tomcat/jasper-compiler-jdt/5.5.15/jasper-compiler-jdt-5.5.15.jar
........................
解决方案:则需要根据错误的提示,到相应目录下找到包,把包删除,然后再次重新编译
一、 前言
Apache官网上提供的hadoop本地库是32位的,如果我们的Linux服务器是64位的话,就会现问题。
我们在64位服务器执行Hadoop命令时,则会报以下错误:
WARNutil.NativeCodeLoader: Unable to load native-hadoop
library for yourplatform... using builtin-java classes where applicable
为了解决上述问题,我们就需要自己编译一个64位的hadoop版本。
二、编译hadoop2.6.1需要的软件
[align=left]jdk 1.7[/align]
[align=left]gcc 4.4.5[/align]
[align=left]maven 3.3.3[/align]
[align=left]protobuf 2.5.0[/align]
[align=left]cmake 2.8.12.2[/align]
[align=left]ant 1.9.6[/align]
[align=left]finbugs(可选择)[/align]
注意:
1)在百度中搜索各个软件的名称,最好到官网上下载,下载软件一定注意软件的版本。
2)finbugs不是编译所必须的软件,可以不下载。
三、编译软件的安装
1.jdk的安装
[align=left]解压 tar -zxvf jdk-7u79-linux-x64.tar.gz[/align]
[align=left]配置环境变量,编辑/etc/profile文件[/align]
[align=left]export JAVA_HOME=/opt/jdk1.7.0_25[/align]
[align=left]export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar[/align]
[align=left]export PATH=$PATH:$JAVA_HOME/bin[/align]
[align=left]source /etc/profile 刷新修改的环境变量[/align]
[align=left]java -version 检查jdk是否安装成功。有以下版本号输出即为成功。[/align]
2.gcc的安装
一般linux上会自带了gcc的安装,所以在安装以前,先检查一下服务器上是否已经安装了gcc。
输入:gcc -v
如果有以下输出,则这说明已经安装了gcc
如机器上没有安装gcc,请自行安装。
3.maven的安装
[align=left]解压tar -zxvf apache-maven-3.3.3-bin.tar.gz [/align]
[align=left]配置环境变量,编辑/etc/profile[/align]
[align=left]export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin[/align]
[align=left]source /etc/profile 刷新修改的环境变量[/align]
[align=left]mvn -version 检查maven是否安装成功。有以下版本号输出即为成功。[/align]
4.protobuf的安装
[align=left]解压tar -zxvf protobuf-2.5.0.tar.gz[/align]
[align=left]进入protobuf的解压目录。如:cd /opt/protobuf-2.5.0/[/align]
[align=left]在安装目录下,执行以下命令:[/align]
[align=left]./ configure[/align]
[align=left]make[/align]
[align=left]make check[/align]
[align=left]make install[/align]
[align=left]protoc --version(注意命令中是两个-) 检查protoc是否安装成功。有版本号输出即为成功。[/align]
5.cmake的安装
[align=left]tar -zxvf cmake-2.8.12.2.tar.gz[/align]
[align=left]进入cmake的解压目录。如:cd /opt/cmake-2.8.12.2/[/align]
[align=left]在安装目录下,执行以下命令:[/align]
[align=left]./ bootstrap[/align]
[align=left]make[/align]
[align=left]make install[/align]
[align=left]cmake -version 检查cmake是否安装成功。有版本号输出即为成功。[/align]
6.ant的安装
[align=left]解压tar -zxvf apache-ant-1.9.6-bin.tar.gz[/align]
[align=left]编辑环境变量,编辑/etc/profile[/align]
[align=left]export ANT_HOME=/opt/apache-ant-1.9.6[/align]
[align=left]export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$ANT_HOME/bin[/align]
[align=left]source /etc/profile 刷新修改的环境变量[/align]
[align=left]ant -version检查ant是否安装成功。有以下版本号输出即为成功。[/align]
7.安装必要的包
[align=left]安装 autotool[/align]
[align=left]执行命令:yum install autoconf automake libtool[/align]
[align=left]安装 openssl-devel[/align]
[align=left]执行命令:yum install openssl-devel[/align]
四、编译hadoop2.6.1
[align=left]在Apache官网上,下载hadoop-2.6.1的源码包hadoop-2.6.1-src.tar.gz。[/align]
[align=left]解压源码包tar -zxvf hadoop-2.6.1-src.tar.gz[/align]
[align=left]进入hadoop-2.6.1-src解压目录。cd /opt/hadoop-2.6.1-src/[/align]
[align=left]执行命令mvn clean package -Pdist,native -DskipTests -Dtar 进行编译。[/align]
[align=left]编译过程中,需要下载很多包,等待时间比较长。当看到hadoop各个项目都编译成功,即出现一系列的SUCCESS之后,即为编译成功。[/align]
[align=left]编译好的安装包hadoop-2.6.1.tar.gz,可以在文件目录hadoop-2.6.1-src/hadoop-dist/target/下找到。[/align]
五、注意事项
编译过程中需要下载安装包,有时候可能由于网络的原因,导致安装包下载不完整,而出现编译错误。
错误1:
Remote host closed connection during handshake: SSL peer shut down incorrectly.......
解决方案:需要重新新多编译几次即可通过。
错误2:
A required class was missing while executing XXXXXX,
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy [ERROR]urls[0] =file:/root/.m2/repository/org/codehaus/mojo/jspc/jspc-maven-plugin/2.0-alpha-3/jspc-maven-plugin-2.0-alpha-3.jar
[ERROR]urls[1]=file:/root/.m2/repository/org/codehaus/mojo/jspc/jspc-compiler-tomcat5/2.0-alpha-3/jspc-compiler-tomcat5-2.0-alpha-3.jar
[ERROR]urls[2]=file:/root/.m2/repository/tomcat/jasper-compiler/5.5.15/jasper-compiler-5.5.15.jar
[ERROR]urls[3]=file:/root/.m2/repository/javax/servlet/jsp-api/2.0/jsp-api-2.0.jar
[ERROR]urls[4]=file:/root/.m2/repository/ant/ant/1.6.5/ant-1.6.5.jar
[ERROR]urls[5]=file:/root/.m2/repository/tomcat/jasper-compiler-jdt/5.5.15/jasper-compiler-jdt-5.5.15.jar
........................
解决方案:则需要根据错误的提示,到相应目录下找到包,把包删除,然后再次重新编译
相关文章推荐
- linux下hadoop2.6.1源码64位的编译
- Hadoop2.7.2源码在64位Centos Linux下编译
- Linux 64位编译hadoop源码
- hadoop2.6.1源码编译64位
- 64位LINUX下hadoop2.2.0重新编译及安装步骤
- 【hadoop】 1008-使用64位Linux编译hadoop2.2.0
- centos6.5 64位下编译hadoop2.5.1源码
- spark的安装部署--10(源码编译安装hadoop+spark+解决64位系统本地库问题)
- hadoop2.6.1源码编译
- 64位centos 下编译 hadoop 2.6.0 源码
- linux环境下编译hadoop-2.6.0源码
- 64位centos 下编译 hadoop 2.6.0 源码
- 在CentOS-x86_64位机器下编译hadoop-2.6.0源码
- Linux Ubuntu server 15.04 amd-64编译Apache Hadoop 2.7.2源码
- Linux下编译hadoop2.5.1源码
- 64位linux下编译hadoop2.X
- 【hadoop之翊】——CentOS6.5 Linux上面编译Hadoop2.4源码
- SUSE Linux 64位环境下编译hadoop2.2.0源码
- windows 64位编译hadoop 3.0源码
- Hadoop源码编译-hadoop-2.0.3-alpha-Linux-CentOS