说实话,本人编译hadoop的过程比较曲折,但收获也很多,下面系统介绍一下CentOS7下编译hadoop-2.7.1的全过程吧。

  先说明,32位Linux操作系统可以直接下载编译好的hadoop使用,但是64位Linux操作系统需要自己编译。

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

到官网http://hadoop.apache.org/releases.html,点击source下载hadoop-2.7.1-src.tar.gz。

解压之

tar -zxvf hadoop-2.7.-src.tar.gz

得到hadoop-2.7.1-src文件夹。

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

cd hadoop-2.7.1-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-7u79-linux-x64.tar.gz,解压后移动到/opt目录下

tar -zxvf jdk-7u79-linux-x64.tar.gz
mv jdk1.7.0_79 /opt

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

vim /etc/profile

按 i 进入插入模式,在文件末尾添加
export JAVA_HOME=/opt/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=/opt/jdk1.7.0_79/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)

地址链接: http://pan.baidu.com/s/1eQDE7TK 密码: r9s2

tar zxvf protobuf-2.5.0.tar.gz

进入protobuf-2.5.0依次执行

cd protobuf-2.5.0
./configure
make
make install

验证安装是否完成

protoc --version

出现

5.安装maven

下载apache- maven- 3.2.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.1-src目录

使用命令:
mvn clean package –Pdist,native –DskipTests –Dtar
或者:
mvn package -Pdist,native -DskipTests -Dtar

进行编译。  

务必保持网络畅通,经过漫长的等待(本人的比较慢,花了2小时57分钟)看到下图即表明编译成功!

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

注意事项:

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

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

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

CentOS7下用jdk1.7编译hadoop-2.7.1全过程详解的更多相关文章

  1. Linux(CentOS7)下安装jdk1.8

    Linux(CentOS7) 下安装 jdk1.8 操作过程. 一.检查是否自带jdk rpm -qa|grep java 如果存在则用下面命令删除,xxx yyy zzz代表查询出来的自带jdk名称 ...

  2. CentOS7编译安装php7.1配置教程详解

    这篇文章主要介绍CentOS7编译安装php7.1的过程和配置详解,亲测 ,需要的朋友可以参考. 1.首先安装依赖包: yum install libxml2 libxml2-devel openss ...

  3. Hadoop 新 MapReduce 框架 Yarn 详解

    Hadoop 新 MapReduce 框架 Yarn 详解: http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/ Ap ...

  4. Hadoop深入学习:MapTask详解

    转自:http://flyingdutchman.iteye.com/blog/1878775#bc2337280 Hadoop深入学习:MapTask详解 博客分类: Hadoop MapTask执 ...

  5. Linux下高并发socket最大连接数所受的各种限制(详解)

    1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每 ...

  6. Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

    一.前言 目前Hadoop发行版非常多,所有这些发行版均是基于Apache Hadoop衍生出来的,之所以有这么多的版本,完全是由Apache Hadoop的开源协议决定的:任何人可以对其进行修改,并 ...

  7. Hadoop 发行版本 Hortonworks 安装详解(二) 安装Ambari

    一.通过yum安装ambari-server 由于上一步我们搭建了本地源,实际上yum是通过本地源安装的ambari-server,虽然也可以直接通过官方源在线安装,不过体积巨大比较费时. 这里我选择 ...

  8. Hadoop生态圈-Hbase的Region详解

    Hadoop生态圈-Hbase的Region详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  9. [转]Hadoop集群_WordCount运行详解--MapReduce编程模型

    Hadoop集群_WordCount运行详解--MapReduce编程模型 下面这篇文章写得非常好,有利于初学mapreduce的入门 http://www.nosqldb.cn/1369099810 ...

随机推荐

  1. [swustoj 411] 售货员的难题

    售货员的难题(0411) Time limit(ms): 5000 Memory limit(kb): 65535 Submission: 1744 Accepted: 200 Description ...

  2. [转] ICPC2013 World Finals赛后感

    原文地址:http://blog.sina.com.cn/s/blog_6c7729450101lmll.html Orz... 26号考完最后一科计网,27号准备了一下各种材料,28号凌晨就踏上旅程 ...

  3. Xcode7创建纯代码空白工程

    0: Create a new project  with  'single view controller' A: Xcode Settings 1: migrate launch image B: ...

  4. 修改UISearchBar的Cancel按钮为中文等本地化问题

    正确方法: 1:创建本地化strings. InfoPlist.strings 2:对InfoPlist.strings添加本地化语言. 即可. 只要添加文件, 系统会根据语言来调整显示文字 常见的搜 ...

  5. BrnMall多店版网上商城正式发布

    前些日子一直忙于多店版网上商城系统BrnMall的开发,工作比较多,所以博客断了.这几天项目完成了,时间比较自由,所以把这段时间总结的一些关于单店版BrnShop和多店版BrnMall区别写下来,希望 ...

  6. C# 多线程是否结束可通过线程池可以判断

    C# ManualResetEvent信号状态判断线程池是否结束  这是一段重要的代码,小猪两个小时的研究成果,记下来备查. using System; using System.Collection ...

  7. 【原】Spark Rpc通信源码分析

    Spark 1.6+推出了以RPCEnv.RPCEndpoint.RPCEndpointRef为核心的新型架构下的RPC通信方式.其具体实现有Akka和Netty两种方式,Akka是基于Scala的A ...

  8. 【HTML】Advanced3:Tables: Columns, Headers, and Footers

    1. <table> <colgroup> <col> <col class="alternative"> <col> ...

  9. Linux下platform设备以及platform设备和驱动注册的先后顺序

    platform是Linux系统提供的一种管理设备的手段,所有SOC系统中集成的独立的外设控制器.挂接在SOC内存空间的外设等都属Platform设备.如ARM S3C6410处理器中,把内部集成的I ...

  10. RIA算法解决最小覆盖圆问题

    一.概念引入         最小包围圆问题:对于给定的平面上甩个点所组成的一个集合P,求出P的最小包围圆,即包含P中所有点.半径最小的那个圆.也就是求出这个最小 包围圆的圆心位置和半径.       ...