源码根目录下有个BUILDINT.txt,打开即可看见里面关于编译hadoop的一些环境要求
64位linux系统CentOS 6.7。
JDK 1.7+。
maven-3.2.5。 一个项目管理综合工具, 使用标准的目录结构和默认构建生命周期
protobuf 2.5.0 google的一种数据交换的格式,它独立于语言,独立于平台
hadoop-2.x.x-src
ant-1.9.7 将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具
这些文件,需要上传到linux系统中,我使用的是SSH来进行上传的,直接上传到了 /root 目录下。同时由于安装过程中需要在线下载东西,古需要保持linux系统的网络畅通。
二、安装JDK
JDK的安装百度一下有很多文章,我使用的是 jdk-7u71-linux-x64.tar.gz。在oracle的官网上也能够下载。jdk的安装在linux下就是一个加压缩的过程。
1 cd /root
2 tar -zxvf jdk-7u71-linux-x64.tar.gz
3 配置环境变量:vim /etc/profile
4 输入命令进入编辑模式:i
5 在文件最后添加:export JAVA_HOME=/root/jdk1.7.0_71
6 export PATH=.:$PATH:$JAVA_HOME/bin
7 保存退出(按下Esc,输入冒号,输入wq回车)
8 使环境变量生效:source /etc/profile
9 检测安装是否成功:
10 java -version
11 javac -version
三、安装maven
这个和安装jdk是一样的,安装成后同样需要配置环境变量
export MAVEN_HOME=/usr/mvn/apache-maven-3.2.5
export PATH=.:$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
同样,输入命令使配置文件生效
source /etc/profile
检测是否安装成功:
mvn -version
能够看到关于maven的一些信息,包括所使用的jdk
四、安装protobuf
这一步比较关键,protobuf最好是提前下载然后上传上去。安装protobuf前,需要安装一些其他的东西
yum install gcc 安装c++
yum install gcc-c++ 然后会两次提示输入 y(yes/no)
yum install make 可能会提示因为make已经是最新版本,而
不会安装,这个无所谓,反正是最新版本,就不安装了
接下来便是安装protobuf,同样是一个解压缩的过程
cd /root
tar -zxvf protobuf-2.5.0.tar.gz
然后进入到安装目录中,以此输入一下命令:
1 cd /protobuf-2.5.0
2 ./ configure
3 make
4 make install
我在进行上面第二个命令,对configure进行预编译时报错,查看异常后,是c++没有安装成功,便再一次执行了:yum install gcc-c++ 命令,OK
make 命令执行的时间比较长,最后一个命令的执行安装,如果出现错误,重新来过即可
测试
protoc --version
五、安装CMake
CMake 需要2.6以上的版本,在安装的时候会提示输入 y/N,同时由于安装这个组件是需要联网的,故根据网速不同,安装的进度也不一样
1 yum install cmake
2 yum install openssl-devel
3 yum install ncurses-devel
六、ant 安装
tar zxvf apache-ant-1.9.4-bin.tar.gz
配置环境变量
export ANT_HOME=/root/apache-ant-1.9.4
export PATH=.:$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$ANT_HOME/bin
生效以及测试
1 source /etc/profile
2 ant -version
七、编译hadoop
1、解压hadoop源码包
tar -zxvf hadoop-2.5.2-src.tar.gz
进入文件夹里面,里面有一个文件BUILDINT.txt,打开即可看见里面关于编译hadoop的一些环境要求
1 cd /root/hadoop-2.5.2-src/
2 cd hadoop-2.5.2-src
3
4 vim BUILDINT.txt
5
2、编译hadoop
进入解压后的原文件中,即上面查看BUILDING.txt文件目录,然后输入一下命令即可
mvn package -Pdist,native -DskipTests -Dtar
或者是下面的命令
mvn package -DeskipTests -Pdist,native
3、等带编译结果
编译完成后会有提示,SUCCESS / FAILURE。如下
如果编译失败,向上滚动,变能够查看什么地方出错了。
4、查看编译结果
同样在刚刚进行编译的那个目录下,有一个 hadoop-dist文件夹,进入里面的target文件夹,然后就可以看到编译成功64位的hadoop文件,解压后的在 hadoop-2.5.2 这个文件夹中,同时还生成了一个压缩包:hadoop-2.5.2-tar.gz 这个压缩包可以拷贝到别的机器上进行安装