1.工具准备,最靠谱的是hadoop说明文档里要求具备的那些工具。

到hadoop官网,点击source下载hadoop-2.7.3-src.tar.gz。

解压之

tar -zxvf hadoop-2.7.3-src.tar.gz

得到hadoop-2.7.3-src文件夹。

进入hadoop-2.7.3-src文件夹,查看BUILDING.txt

cd hadoop-2.7.3-src vim BUILDING.txt

可以看到编译所需的库或者工具:

包括:

JDK1.7+ 
maven 3.0 or later 
findbugs 1.3.9 
protocolBuffer 2.5.0 
cmake 2.6 
zlib-devel 
openssl-devel

除了上面这些,为了不出错,实际还需要autoconf automake gcc等。

下面开始准备这些工具:

首先使用su命令获取root权限,以免受到各种限制

2.下载jdk-7u102-linux-x64.tar.gz,解压后移动到/opt目录下

tar -zxvf jdk-7u102-linux-x64.tar.gz

mv jdk1.8.0_102/opt

然后打开/etc/profile配置jdk环境变量

vim /etc/profile

按 i 进入插入模式,在文件末尾添加

export JAVA_HOME=/opt/jdk1.8.0_102

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

export JRE_HOME=/opt/jdk1.8.0_102/jre

export PATH=$PATH:$JRE_HOME/bin

先后按Esc, Shift+:, wq, 回车即可保存并退出编辑。

输入 source /etc/profile 回车即可保存更改。

运行javac -version 查看状态:

3.下面安装各种库,

yum -y install svn ncurses-devel gcc*

yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel

4.安装protobuf-2.5.0.tar.gz(注意版本必须是2.5.0)

protobuf-2.5.0.tar.gz下载地址:

------------------------------------------分割线------------------------------------------

免费下载地址在http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在/2015年资料/10月/10日/CentOS7下用JDK1.7编译Hadoop-2.7.1全过程详解/

下载方法见http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割线------------------------------------------

tar zxvf protobuf-2.5.0.tar.gz

进入protobuf-2.5.0依次执行

cd protobuf-2.5.0 进入目录

假如 你希望编译成功后输出的目录 为 /home/work /protobuf/ 则输入如下两条命令:

./configure --prefix=/home/work /protobuf/

make && make install

编译成功后将export PATH= /home/work /protobuf/bin:$PATH加入到环境变量中

最后输入  protoc --version命令,如显示libprotoc 2.5.0则安装成功

5.安装maven (注意,如果下载很慢或者经常失败,建议更换maven的下载源,方法在另一篇博客中有说明)

下载apache- maven- 3.3.3- bin.tar.gz

解压缩并配置环境变量

解压:

tar -zxvf apache-maven-3.3.3-bin.tar.gz

移动到/opt目录下:

mv apache-maven-3.3.3 /opt

配置环境变量:

vim /etc/profile

在末尾添加:

export MAVEN_HOME=/opt/apache-maven-3.3.3

export MAVEN_OPTS="-Xms256m -Xmx512m"

export PATH=$PATH:$MAVEN_HOME/bin

先按Esc, Shift+:, wq, 回车即可保存并推出编辑。

输入 source /etc/profile 回车即可保存更改。

查看安装状态: mvn -version

看到

6.安装ant

下载apache-ant-1.9.4-bin.tar.gz

解压缩并配置环境变量

解压:

tar -zxvf apache-ant-1.9.4-bin.tar.gz

移动到/opt目录下

mv apache-ant-1.9.4 /opt

配置环境变量

同上,在/etc/profile文件末未添加:

export ANT_HOME=/opt/apache-ant-1.9.4

export PATH=$PATH:$ANT_HOME/bin

然后保存,退出,并使更改生效。

查看安装结果:

ant -version

7.安装findbugs

下载findbugs-3.0.1.tar.gz,选择上面的standard version即可

解压缩并配置环境变量

解压:

tar -zxvf findbugs-3.0.1.tar.gz

移动到 /opt目录下

mv findbugs-3.0.1 /opt

配置环境变量:

在 /etc/profile 文件末尾添加:

export FINDBUGS_HOME=/opt/findbugs-3.0.1

export PATH=$PATH:$FINDBUGS_HOME/bin

保存退出,并使更改生效。

查看安装结果

8.准备完成,下面开始编译hadoop

进入到hadoop-2.7.3-src目录

vim hadoop-common-project/hadoop-auth/pom.xml

vim /hadoop-common-project/hadoop-common/pom.xml

<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-annotations</artifactId>
<scope>compile</scope>
</dependency>

将节点hadoop-annotations的值由provide 改成compile

使用命令:

mvn clean package –Pdist,native –DskipTests –Dtar

或者:

mvn package -Pdist,native -DskipTests -Dtar

进行编译。  

务必保持网络畅通,经过漫长的等待(本人的比较慢,花了2小时57分钟)!

编译好的文件在/hadoop-dist/target/hadoop-2.7.3.tar.gz下。

注意事项:

1.所有命令,建议手敲,不建议复制粘贴,以避免因为页面空格造成的不必要错误。

2.务必保持网络畅通,如果出现缺少某个文件,则要先清理maven(使用命令 mvn clean) 再重新编译。

3.如果总是出现同一个错误导致编译失败,则可能是缺少某个库或者工具,检查上述工具是否都安装成功,并且版本正确。

转载于:https://www.cnblogs.com/duking1991/p/6104304.html

hadoop 2.7.3 源码编译教程相关推荐

  1. tx2+opencv源码编译教程(tx2+opencv4.4.0+opencv_contrib-4.4.0)

    tx2+opencv源码编译教程(tx2+opencv4.4.0+opencv_contrib-4.4.0) 一.卸载TX2上已安装的opencv 打开终端,输入以下指令卸载已经安装的opencv: ...

  2. tensorflow源码编译教程_源码编译安装tensorflow 1.8

    参考官方指南 基本要求 官网测试过的源代码配置如下: image 也就是说,按照这个版本安装的话不应该再产生版本的问题了. 我的配置 ubuntu 16 python 2.7 nccl 2.3 gcc ...

  3. SQLite源码编译教程

    SQLite源码编译安装 SQLite简介 编译安装 源码下载 编译过程 demo实例 总结 SQLite简介 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用M ...

  4. 最好用的Redis Desktop Manager 0.9.3 版本下载 以及源码编译教程

    文章目录 一.前言 二.编译教程 2.1 [redis destop manager 的源码地址](https://github.com/uglide/RedisDesktopManager) 2.2 ...

  5. Spring 6 源码编译教程分享~

    前言:Spring Boot 3 RELEASE版本于 2022年11月24日 正式发布,此次Spring Boot里程碑的升级也要求了最低JDK 17 和 Spring Framework 6 ,其 ...

  6. 可视化工具VisIt源码编译教程(Windows,图文讲解)

    我新建了一个VisIt软件的交流qq群:1169585995,欢迎大家加入一起交流,一起学习! 所用软件及其版本 用于源码编译的软件及版本如下: Windows版本:win10 VisIt版本:vis ...

  7. orangepi升级linux内核,orangePi源码编译教程

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? #环境 ubuntu 12.04.5 64位 8G内存 jdk-6u45-linux-x64.bin 64位JDK6 板 ...

  8. 怎么查看MySQL 源码编译了什么_Mysql 源码编译教程贴

    题外话:这是一篇教程贴,不仅学的是mysql的编译,还是一些编译的知识.我也是一个菜鸟,写一些感悟和心得,有什么问题可以批评指正,谢谢! 如果只是为了安装请移到我的另一篇安装贴: Mysql安装贴 环 ...

  9. MeshLab 2022.02 源码编译教程

    目录 前言 编译准备 编译配置 1. 源码下载 2. 路径配置 3. 命令行编译 4. 报错解决 结语 前言 MeshLab是三维立体网格处理软件,为自由软件,首先发布于2005年年底.此软件可显示及 ...

  10. 全网首发:网易云信Duilib 源码编译教程以及可执行演示包下载

    序言 Duilib介绍 Duilib是windows平台下的一款轻量级directUI开源库(遵循BSD协议),完全免费,可用于商业软件开发,只需在软件包里附上协议文件即可.Duilib可以简单方便地 ...

最新文章

  1. 在线学位课程_如何选择计算机科学学位课程
  2. 【iOS学习笔记】IOS开发中设置applicationIconBadgeNumber和消息推送
  3. 编译-C++支持iOS静态库的脚本学习
  4. 零基础python从入门到精通 pdf-跟老齐学Python:从入门到精通PDF电子版
  5. 指令级别解释对象创建过程和DCL为什么要volatile
  6. EduCoder Linux文件/目录高级管理三
  7. 自定义RecyclerView动画——实现remove飞出效果
  8. linux 时间会跳吗,linux系统时间暂时跳跃
  9. 安装mysql5 1步骤_Linux系统安装MySQL详细步骤(mysql-5.1等)
  10. layui 自定义request_layuiAdmin pro v1.x 【单页版】开发者文档
  11. 使用emacs + cscope + ecb替代source insight
  12. 小程序 省市区地址选择器
  13. 计算经纬度距离工具类
  14. SQL Server中查询累计和与滑动平均值
  15. windows server 2003忘记密码
  16. win服务器系统无法切换输入法,Win10系统下中英文输入法无法切换的解决方案
  17. 去掉首尾字符java_Java去除字符串首尾特定字符
  18. 比江小白杜蕾斯还要清新,这些文案,可能这就是青春吧!
  19. MySQL——客户端工具简介
  20. Linux—系统关机命令详解

热门文章

  1. web 报表中电子图章 / 水印的轻松实现
  2. Win8.1部署 .NET Framework 3.5 安装方式汇总
  3. conduit 安装试用
  4. understanding OpenGL
  5. 黄聪:基于jQuery+JSON的省市区三级地区联动
  6. Pointer is missing a nullability type specifier (__nonnull or __nullable)
  7. oracle 删除用户命令和部分表空间操作
  8. Shiro(三)——Shiro授权入门案例
  9. 仿Android 5.0 侧滑菜单按钮动画 以及侧滑菜单联动
  10. 中南民族大学计算机图像处理实验报告,中南民族大学数字图像处理实验报告.doc...