hadoop源码编译方法,以及编译问题总结
来源:互联网 发布:acm编程规则 编辑:程序博客网 时间:2024/06/09 23:29
一、编译所需的一些软件
1.jdk1.7
2.maven 3.3.9
3.findbugs 3.0.1
4.protocolBuffer 2.5.0
5.cmake 2.6
6.zlib-devel
7.openssl-devel
8.gcc-c++
9.autoconf
10.automake
11.hadoop-2.7.3-src.tar.gz
二、编译hadoop源码步骤
首先需要在虚拟机上安装以下软件
**1.安装jdk并配置环境变量**
下载JDK安装包
版本为1.7.0_79,将其放入/usr/lib/jvm/ 目录下(创建jvm文件夹 mkdir jvm),
Ldd-1
[root@ldd-1 ~]# cd /usr/lib/jvm/[root@ldd-1 jvm]# ls jdk-7u79-linux-x64.tar.gz
解压
[root@ldd-1 jvm]# tar -zxvf jdk-7u79-linux-x64.tar.gz
配置环境变量
Ldd-1
[root@ldd-1 ~]# vi /etc/profile.d/jdk.sh export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_79 export JRE_HOME=//usr/lib/jvm/jdk1.7.0_79/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
生效环境变量
Ldd-1
[root@ldd-1 ~]# source /etc/profile
检查是否安装成功
java -version
**2.安装maven并配置环境变量**
下载maven安装包
版本为3.3.9,将其放入/usr/lib/soft/ 目录下(创建soft文件夹 mkdir soft),
Ldd-1
[root@ldd-1 ~]# cd /usr/lib/soft/[root@ldd-1 soft]# ls apache-maven-3.3.9-bin.tar.gz
解压
[root@ldd-1 soft]# tar -zxvf apache-maven-3.3.9-bin.tar.gz
配置maven环境变量
[root@ldd-1 ~]# vi /etc/profile
在profile文件中添加
export MAVEN_HOME=/usr/lib/soft/apache-maven-3.3.9 export PATH=.:$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
生效环境变量
Ldd-1
[root@ldd-1 ~]# source /etc/profile
检查是否安装成功
mvn -version
**3.安装依赖库**
[root@ldd-1 ~]# yum -y install svn ncurses-devel gcc*[root@ldd-1 ~]# yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel
**4.安装protocolBuffer**
下载protocolBuffer安装包
版本为2.5.0,将其放入/usr/lib/soft/ 目录下(创建soft文件夹 mkdir soft),
Ldd-1
[root@ldd-1 ~]# cd /usr/lib/soft/[root@ldd-1 soft]# ls protobuf-2.5.0.tar.gz
解压
[root@ldd-1 soft]# tar -zxvf protobuf-2.5.0.tar.gz
配置环境变量
Ldd-1
[root@ldd-1 ~]# cd /usr/lib/soft/protobuf-2.5.0[root@ldd-1 protobuf-2.5.0]# ./configure[root@ldd-1 protobuf-2.5.0]# make[root@ldd-1 protobuf-2.5.0]# make install
检查是否安装成功
[root@ldd-1 ~]# protoc --version libprotoc 2.5.0
**5.安装findbugs并配置环境变量**
下载findbugs安装包
版本为3.0.1,将其放入/usr/lib/soft/ 目录下,
Ldd-1
[root@ldd-1 ~]# cd /usr/lib/soft/[root@ldd-1 soft]# ls findbugs-3.0.1.tar.gz
解压
[root@ldd-1 soft]# tar -zxvf findbugs-3.0.1.tar.gz
配置环境变量
Ldd-1
[root@ldd-1 ~]# vi /etc/profile
在profile文件末尾追加
export FINDBUGS_HOME=/usr/lib/soft/findbugs-3.0.1 export PATH=$PATH:$FINDBUGS_HOME/bin
[root@ldd-1 ~]# source /etc/profile[root@ldd-1 ~]# findbugs -version
**6.编译Hadoop**
下载hadoop安装包,版本为2.7.3,将其放入/usr/lib/soft/ 目录下,
Ldd-1
[root@ldd-1 ~]# cd /usr/lib/soft/[root@ldd-1 soft]# ls hadoop-2.7.3-src.tar.gz
解压
[root@ldd-1 soft]# tar -zxvf hadoop-2.7.3-src.tar.gz
进入源码目录执行编译
[root@ldd-1 soft]# cd hadoop-2.7.3-src [root@ldd-1 hadoop-2.7.3-src]# mvn clean package -Pdist,native -DskipTests -Dtar
参考教程:
http://blog.csdn.net/young_kim1/article/details/50269501
http://blog.csdn.net/linlinv3/article/details/49358217
二、编译问题总结
1.错误描述: Failed to find a viable JVM installation under JAVA_HOME
【解决方法】
进入到hadoop-2.7.3-src目录下的src目录
cd /soft-cy/hadoop-2.7.3-src/hadoop-common-project/hadoop-common/src
编辑JNIFlags.cmake文件
vim JNIFlags.camke
在文件中添加以下代码(图中红色圈出的部分)
ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "^sw_64") SET(_java_libarch "sw")
附:
上图中配置的“sw”的路径:/usr/lib/jvm/java-1.7.0-swjdk-H2586P.sw_64/jre/lib
- hadoop源码编译方法,以及编译问题总结
- Ubuntu编译Hadoop源码异常总结
- Ubuntu编译Hadoop源码异常总结
- Ubuntu编译Hadoop源码异常总结
- 编译 Android 源码问题总结
- ceph源码编译问题总结
- 编译hadoop源码遇到问题 及时解决
- hadoop 源码编译
- hadoop源码编译错误
- eclipse编译hadoop源码
- hadoop源码编译
- Eclipse 编译Hadoop源码
- eclipse编译hadoop源码
- 编译hadoop源码
- hadoop 源码编译
- 重新编译Hadoop源码
- hadoop源码编译
- hadoop源码编译
- ORA-00845: MEMORY_TARGET not supported on this system
- Apache Storm 1.1.0 中文文档 | ApacheCN
- 分布式存储服务器FastDFS
- MyEclipse下创建的项目 导入eclipse
- BZOJ2038(莫队算法)
- hadoop源码编译方法,以及编译问题总结
- ## com.MySQL.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establ
- Apache Storm 1.1.0 中文文档 | ApacheCN
- Flask零基础到项目实战(四)SQLAlchemy数据库(三)
- 有关内存覆盖
- Hibernate(1)——简介
- MyBatis出错:Error instantiating class com.huida.test.User with invalid types () or values ().
- Python 上下文管理器和else块
- SoapUI模拟soap请求连接.net服务器接口