说实话,本人编译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. c程序设计语言_习题7-6_对比两个输入文本文件_输出它们不同的第一行_并且要记录行号

    Write a program to compare two files, printing the first line where they differ. Here's Rick's solut ...

  2. Problems encountered while deleting resources.

    Error The project was not built due to “Problems encountered while deleting resources.”. Fix the pro ...

  3. POJ --- 2918 求解数独

    Tudoku   Description Tom is a master in several mathematical-theoretical disciplines. He recently fo ...

  4. 关于Lua 5.1中的debug.hook和coroutine

    1.debug.hook只hook主线程,在coroutine中不起作用. 2.coroutine.resume之后主线程会挂起,直到协程coroutine.yield返回 3. 对于如下代码 deb ...

  5. Tools that help you scrape web data----帮助你收集web数据的工具

    There are many programs that can be used to extract bulk information from a web site, including brow ...

  6. ERROR hdfs.DFSClient: Failed to close file解决方法

    14/04/11 17:59:44 ERROR hdfs.DFSClient: Failed to close file /wlan_out/_temporary/_attempt_local_000 ...

  7. hdu5601-N*M bulbs(黑白棋盘染色)

    一个矩形,一个人从左上角走到右下角,每走过一个位置把0变成1,1变成0. 求有没有可能他离开之后所有的数都是0 假设这个矩形是一个棋盘,黑白相间. 这样会发现从一个颜色走到相同颜色可以对棋盘不产生任何 ...

  8. Redis压缩列表原理与应用分析

    摘要 Redis是一款著名的key-value内存数据库软件,同时也是一款卓越的数据结构服务软件.它支持字符串.列表.哈希表.集合.有序集合五种数据结构类型,同时每种数据结构类型针对不同的应用场景又支 ...

  9. 不只是打车软件,中国车主们赋予了Uber更多意义

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. JS 单元测试

    JS单元测试,我工作时主要以mocha + chai 下面时具体的文档: mocha: https://mochajs.org/#asynchronous-code Chai: http://chai ...