第一步:工具的准备
apache-ant-1.9.9-bin.tar.gz
apache-maven-3.0.5-bin.tar.gz
hadoop-2.7.6-src.tar.gz
jdk1.7 就好别用1.8 据说 用1.8 maven 编译 会报各种错。
protobuf-2.5.0.tar.gz
以上就是需要的所有 工具
第二部:linux 可以连接外网。
第三部:给 linux 虚拟机 至少分配 4g 以上内存。内存的过低编译会报错。建议分配多一些。
我的个人总结:
1、不要指望一次就能编译成功。概率很小,因为会各种假死
2、如果卡在downloading 时间过长请 ctrl+c 结束 。重新编译
3、我一开始使用repo.apache 砸七砸八速度贼慢。等的人心累。以下内容我从网上找了很多解决方案才得以编译完成。并提速
4、如果没有耐心还是忽略此文章
5、网上提供的二进制tar包2.X版本据说是32位。据说。据说。据说。网上说法不一致,也有的人认为,每台机器硬件配置不一样对应的依赖以及lib不一样。造成编译后包不一定适用于所有机器,才需要编译。编译不是什么高级的东西。
献上我编译成功的截图
首先将以上的包导入到linux 服务器
网上有很多教程。我这里不细说
必须进入root账户。以免在编译过程中遇到一系列奇葩错误
mkdir /opt/softWareFile
mkdir /opt/module
将以上几个包导入
1) 解压文件
tar -zxvf jdk-7u80-linux-x64.tar.gz -C /opt/module
tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module
tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module
tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module
tar -zxvf hadoop-2.7.6-src.tar.gz -C /opt
2)配置环境变量
vi /etc/profile
shift+G 移动到末尾
o 换行编辑
将以下内容粘贴进去
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin
#MAVEN_HOME
export MAVEN_HOME=/opt/module/apache-maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin
#ANT_HOME
export ANT_HOME=/opt/module/apache-ant-1.9.9
export PATH=$PATH:$ANT_HOME/bin
#LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0
export PATH=$PATH:$LD_LIBRARY_PATH
按esc :wq保存退出
3)source /etc/profile
使配置文件生效
4)安装 glibc-headers 和 g++ 命令如下:
yum install glibc-headersyum install gcc-c++
5)安装 make 和 cmake
yum install make
yum install cmake
cd /opt/protobuf-2.5.0
./configure
make
make check
make install
ldconfig
6)然后验证配置文件是否生效
java -version
ant -version
mvn -version
protoc --version
7)安装 openssl 库
yum install openssl-devel
8)安装 ncurses-devel 库:
yum install ncurses-devel
9)修改mvn 使用 阿里源。否则太慢了
cd /opt/module/apache-maven-3.0.5/conf
vim settings.xml
保存退出
10)进入目录
[root@yzx001 opt]# cd hadoop-2.7.6-src/
[root@yzx001 hadoop-2.7.6-src]# mvn package -Pdist,native -DskipTests -Dtar
慢慢等吧 卡死就ctrl+c 然后继续运行上面的编译命令
只要不是卡在downloading 就有戏。
以下目录就是 最终64位 hadoop 目录
工具见下载连接:
https://download.csdn.net/download/qq_18730505/10543536