阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

编译Apache Hadoop2.2.0源代码

471次阅读
没有评论

共计 10627 个字符,预计需要花费 27 分钟才能阅读完成。

Hadoop2 的学习资料很少,只有官网的少数文档。如果想更深入的研究 hadoop2,除了仅看官网的文档外,还要学习如何看源码,通过不断的调试跟踪源码,学习 hadoop 的运行机制。

1. 安装 CentOS

我使用的是 CentOS6.5,下载地址是 http://mirror.neu.edu.cn/centos/6.5/isos/x86_64/,选择 CentOS-6.5-x86_64-bin-DVD1.iso 下载,注意是 64 位的,大小是 4GB,需要下载一段时间的。其实 6.x 的版本都可以,不一定是 6.5。

我使用的是 VMWare 虚拟机,分配了 2GB 内存,20GB 磁盘空间。内存太小,会比较慢;磁盘太小,编译时可能会出现空间不足的情况。上述不是最低配置,根据自己的机器配置修改吧。还有,一定要保持 linux 联网状态。

以下是按照各种软件,我把软件下载后全部复制到 /usr/local 目录下,以下命令执行的路径是在 /usr/local 目录下。请读者在阅读时,一定要注意路径。

2. 安装 JDK

hadoop 是 java 写的,编译 hadoop 必须安装 jdk。

从 Oracle 官网下载 jdk,下载地址是 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,选择 jdk-7u45-linux-x64.tar.gz 下载。

执行以下命令解压缩 jdk

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

会生成一个文件夹 jdk1.7.0_45,然后设置环境变量中。

执行命令 vi /etc/profile,增加以下内容到配置文件中,结果显示如下

编译 Apache Hadoop2.2.0 源代码

保存退出文件后,执行以下命令

source  /etc/profile

java -version

如果看到下面的显示信息,证明配置正确了。

编译 Apache Hadoop2.2.0 源代码

3. 安装 maven

hadoop 源码是使用 maven 组织管理的,必须下载 maven。从 maven 官网下载,下载地址是 http://maven.apache.org/download.cgi,选择 apache-maven-3.0.5-bin.tar.gz 下载,不要选择 3.1 下载。

执行以下命令解压缩 jdk

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

会生成一个文件夹 apache-maven-3.0.5,然后设置环境变量中。

执行命令 vi /etc/profile,编辑结果如下图所示

编译 Apache Hadoop2.2.0 源代码

保存退出文件后,执行以下命令

source  /etc/profile

mvn -version

如果看到下面的显示信息,证明配置正确了。

编译 Apache Hadoop2.2.0 源代码

4. 安装 findbugs(可选步骤)

findbugs 是用于生成文档的。如果不需要编译生成文档,可以不执行该步骤。从 findbugs 官网下载 findbugs,下载地址是 http://sourceforge.jp/projects/sfnet_findbugs/releases/,选择 findbugs-3.0.0-dev-20131204-e3cbbd5.tar.gz 下载。

执行以下命令解压缩 jdk

tar -zxvf  findbugs-3.0.0-dev-20131204-e3cbbd5.tar.gz

会生成一个文件夹 findbugs-3.0.0-dev-20131204-e3cbbd5,然后设置环境变量中。

执行命令 vi /etc/profile,编辑结果如下图所示

编译 Apache Hadoop2.2.0 源代码

保存退出文件后,执行以下命令

source  /etc/profile

findbugs -version

如果看到下面的显示信息,证明配置正确了。

编译 Apache Hadoop2.2.0 源代码

5. 安装 protoc

hadoop 使用 protocol buffer 通信,从 protoc 官网下载 protoc,下载地址是 https://code.google.com/p/protobuf/downloads/list,选择 protobuf-2.5.0.tar.gz 下载。

为了编译安装 protoc,需要下载几个工具,顺序执行以下命令

yum install gcc

yum intall gcc-c++

yum install make

如果操作系统是 CentOS6.5 那么 gcc 和 make 已经安装了。其他版本不一定。在命令运行时,需要用户经常输入“y”。

然后执行以下命令解压缩 protobuf

tar -zxvf  protobuf-2.5.0.tar.gz

会生成一个文件夹 protobuf-2.5.0,执行以下命令编译 protobuf。

cd protobuf-2.5.0

./configure –prefix=/usr/local/protoc/

make && make install

只要不出错就可以了。

执行完毕后,编译后的文件位于 /usr/local/protoc/ 目录下,我们设置一下环境变量

执行命令 vi /etc/profile,编辑结果如下图所示

编译 Apache Hadoop2.2.0 源代码

保存退出文件后,执行以下命令

source  /etc/profile

protoc –version

如果看到下面的显示信息,证明配置正确了。

编译 Apache Hadoop2.2.0 源代码

6. 安装其他依赖

顺序执行以下命令

yum install cmake

yum install openssl-devel

yum install ncurses-devel

安装完毕即可。

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-04/99343p3.htm

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

7. 编译 Hadoop2.2 源码

从 hadoop 官网下载 2.2 稳定版,下载地址是 http://apache.fayea.com/apache-mirror/hadoop/common/stable2/,下载 hadoop-2.2.0-src.tar.gz 下载。

执行以下命令解压缩 jdk

tar -zxvf hadoop-2.2.0-src.tar.gz

会生成一个文件夹 hadoop-2.2.0-src。源代码中有个 bug,这里需要修改一下,编辑目录 /usr/local/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth 中的文件 pom.xml,执行以下命令

gedit pom.xml

在第 55 行下增加以下内容

org.mortbay.jetty

jetty-util

test

保存退出即可。

上述 bug 详见 https://issues.apache.org/jira/browse/HADOOP-10110,在 hadoop3 中修复了,离我们太遥远了。

好了,现在进入到目录 /usr/local/hadoop-2.2.0-src 中,执行命令

mvn package -DskipTests -Pdist,native,docs

如果没有执行第 4 步,把上面命令中的 docs 去掉即可,就不必生成文档了。

该命令会从外网下载依赖的 jar,编译 hadoop 源码,需要花费很长时间,你可以吃饭了。

在等待 n 久之后,可以看到如下的结果:

[INFO] Apache Hadoop Main ………………………….. SUCCESS [6.936s]
[INFO] Apache Hadoop Project POM ……………………. SUCCESS [4.928s]
[INFO] Apache Hadoop Annotations ……………………. SUCCESS [9.399s]
[INFO] Apache Hadoop Assemblies …………………….. SUCCESS [0.871s]
[INFO] Apache Hadoop Project Dist POM ……………….. SUCCESS [7.981s]
[INFO] Apache Hadoop Maven Plugins ………………….. SUCCESS [8.965s]
[INFO] Apache Hadoop Auth ………………………….. SUCCESS [39.748s]
[INFO] Apache Hadoop Auth Examples ………………….. SUCCESS [11.081s]
[INFO] Apache Hadoop Common ………………………… SUCCESS [10:41.466s]
[INFO] Apache Hadoop NFS …………………………… SUCCESS [26.346s]
[INFO] Apache Hadoop Common Project …………………. SUCCESS [0.061s]
[INFO] Apache Hadoop HDFS ………………………….. SUCCESS [12:49.368s]
[INFO] Apache Hadoop HttpFS ………………………… SUCCESS [41.896s]
[INFO] Apache Hadoop HDFS BookKeeper Journal …………. SUCCESS [41.043s]
[INFO] Apache Hadoop HDFS-NFS ………………………. SUCCESS [9.650s]
[INFO] Apache Hadoop HDFS Project …………………… SUCCESS [0.051s]
[INFO] hadoop-yarn ………………………………… SUCCESS [1:22.693s]
[INFO] hadoop-yarn-api …………………………….. SUCCESS [1:20.262s]
[INFO] hadoop-yarn-common ………………………….. SUCCESS [1:30.530s]
[INFO] hadoop-yarn-server ………………………….. SUCCESS [0.177s]
[INFO] hadoop-yarn-server-common ……………………. SUCCESS [15.781s]
[INFO] hadoop-yarn-server-nodemanager ……………….. SUCCESS [40.800s]
[INFO] hadoop-yarn-server-web-proxy …………………. SUCCESS [6.099s]
[INFO] hadoop-yarn-server-resourcemanager ……………. SUCCESS [37.639s]
[INFO] hadoop-yarn-server-tests …………………….. SUCCESS [4.516s]
[INFO] hadoop-yarn-client ………………………….. SUCCESS [25.594s]
[INFO] hadoop-yarn-applications …………………….. SUCCESS [0.286s]
[INFO] hadoop-yarn-applications-distributedshell ……… SUCCESS [10.143s]
[INFO] hadoop-mapreduce-client ……………………… SUCCESS [0.119s]
[INFO] hadoop-mapreduce-client-core …………………. SUCCESS [55.812s]
[INFO] hadoop-yarn-applications-unmanaged-am-launcher …. SUCCESS [8.749s]
[INFO] hadoop-yarn-site ……………………………. SUCCESS [0.524s]
[INFO] hadoop-yarn-project …………………………. SUCCESS [16.641s]
[INFO] hadoop-mapreduce-client-common ……………….. SUCCESS [40.796s]
[INFO] hadoop-mapreduce-client-shuffle ………………. SUCCESS [7.628s]
[INFO] hadoop-mapreduce-client-app ………………….. SUCCESS [24.066s]
[INFO] hadoop-mapreduce-client-hs …………………… SUCCESS [13.243s]
[INFO] hadoop-mapreduce-client-jobclient …………….. SUCCESS [16.670s]
[INFO] hadoop-mapreduce-client-hs-plugins ……………. SUCCESS [3.787s]
[INFO] Apache Hadoop MapReduce Examples ……………… SUCCESS [17.012s]
[INFO] hadoop-mapreduce ……………………………. SUCCESS [6.459s]
[INFO] Apache Hadoop MapReduce Streaming …………….. SUCCESS [12.149s]
[INFO] Apache Hadoop Distributed Copy ……………….. SUCCESS [15.968s]
[INFO] Apache Hadoop Archives ………………………. SUCCESS [5.851s]
[INFO] Apache Hadoop Rumen …………………………. SUCCESS [18.364s]
[INFO] Apache Hadoop Gridmix ……………………….. SUCCESS [14.943s]
[INFO] Apache Hadoop Data Join ……………………… SUCCESS [9.648s]
[INFO] Apache Hadoop Extras ………………………… SUCCESS [5.763s]
[INFO] Apache Hadoop Pipes …………………………. SUCCESS [16.289s]
[INFO] Apache Hadoop Tools Dist …………………….. SUCCESS [3.261s]
[INFO] Apache Hadoop Tools …………………………. SUCCESS [0.043s]
[INFO] Apache Hadoop Distribution …………………… SUCCESS [56.188s]
[INFO] Apache Hadoop Client ………………………… SUCCESS [10.910s]
[INFO] Apache Hadoop Mini-Cluster …………………… SUCCESS [0.321s]
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 40:00.444s
[INFO] Finished at: Thu Dec 26 12:42:24 CST 2013
[INFO] Final Memory: 109M/362M
[INFO] ————————————————————————

 

好了,编译完成了。

编译后的代码在 /usr/local/hadoop-2.2.0-src/hadoop-dist/target 下面,如下图。

编译 Apache Hadoop2.2.0 源代码

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

Hadoop2 的学习资料很少,只有官网的少数文档。如果想更深入的研究 hadoop2,除了仅看官网的文档外,还要学习如何看源码,通过不断的调试跟踪源码,学习 hadoop 的运行机制。

1. 安装 CentOS

我使用的是 CentOS6.5,下载地址是 http://mirror.neu.edu.cn/centos/6.5/isos/x86_64/,选择 CentOS-6.5-x86_64-bin-DVD1.iso 下载,注意是 64 位的,大小是 4GB,需要下载一段时间的。其实 6.x 的版本都可以,不一定是 6.5。

我使用的是 VMWare 虚拟机,分配了 2GB 内存,20GB 磁盘空间。内存太小,会比较慢;磁盘太小,编译时可能会出现空间不足的情况。上述不是最低配置,根据自己的机器配置修改吧。还有,一定要保持 linux 联网状态。

以下是按照各种软件,我把软件下载后全部复制到 /usr/local 目录下,以下命令执行的路径是在 /usr/local 目录下。请读者在阅读时,一定要注意路径。

2. 安装 JDK

hadoop 是 java 写的,编译 hadoop 必须安装 jdk。

从 Oracle 官网下载 jdk,下载地址是 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,选择 jdk-7u45-linux-x64.tar.gz 下载。

执行以下命令解压缩 jdk

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

会生成一个文件夹 jdk1.7.0_45,然后设置环境变量中。

执行命令 vi /etc/profile,增加以下内容到配置文件中,结果显示如下

编译 Apache Hadoop2.2.0 源代码

保存退出文件后,执行以下命令

source  /etc/profile

java -version

如果看到下面的显示信息,证明配置正确了。

编译 Apache Hadoop2.2.0 源代码

3. 安装 maven

hadoop 源码是使用 maven 组织管理的,必须下载 maven。从 maven 官网下载,下载地址是 http://maven.apache.org/download.cgi,选择 apache-maven-3.0.5-bin.tar.gz 下载,不要选择 3.1 下载。

执行以下命令解压缩 jdk

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

会生成一个文件夹 apache-maven-3.0.5,然后设置环境变量中。

执行命令 vi /etc/profile,编辑结果如下图所示

编译 Apache Hadoop2.2.0 源代码

保存退出文件后,执行以下命令

source  /etc/profile

mvn -version

如果看到下面的显示信息,证明配置正确了。

编译 Apache Hadoop2.2.0 源代码

4. 安装 findbugs(可选步骤)

findbugs 是用于生成文档的。如果不需要编译生成文档,可以不执行该步骤。从 findbugs 官网下载 findbugs,下载地址是 http://sourceforge.jp/projects/sfnet_findbugs/releases/,选择 findbugs-3.0.0-dev-20131204-e3cbbd5.tar.gz 下载。

执行以下命令解压缩 jdk

tar -zxvf  findbugs-3.0.0-dev-20131204-e3cbbd5.tar.gz

会生成一个文件夹 findbugs-3.0.0-dev-20131204-e3cbbd5,然后设置环境变量中。

执行命令 vi /etc/profile,编辑结果如下图所示

编译 Apache Hadoop2.2.0 源代码

保存退出文件后,执行以下命令

source  /etc/profile

findbugs -version

如果看到下面的显示信息,证明配置正确了。

编译 Apache Hadoop2.2.0 源代码

5. 安装 protoc

hadoop 使用 protocol buffer 通信,从 protoc 官网下载 protoc,下载地址是 https://code.google.com/p/protobuf/downloads/list,选择 protobuf-2.5.0.tar.gz 下载。

为了编译安装 protoc,需要下载几个工具,顺序执行以下命令

yum install gcc

yum intall gcc-c++

yum install make

如果操作系统是 CentOS6.5 那么 gcc 和 make 已经安装了。其他版本不一定。在命令运行时,需要用户经常输入“y”。

然后执行以下命令解压缩 protobuf

tar -zxvf  protobuf-2.5.0.tar.gz

会生成一个文件夹 protobuf-2.5.0,执行以下命令编译 protobuf。

cd protobuf-2.5.0

./configure –prefix=/usr/local/protoc/

make && make install

只要不出错就可以了。

执行完毕后,编译后的文件位于 /usr/local/protoc/ 目录下,我们设置一下环境变量

执行命令 vi /etc/profile,编辑结果如下图所示

编译 Apache Hadoop2.2.0 源代码

保存退出文件后,执行以下命令

source  /etc/profile

protoc –version

如果看到下面的显示信息,证明配置正确了。

编译 Apache Hadoop2.2.0 源代码

6. 安装其他依赖

顺序执行以下命令

yum install cmake

yum install openssl-devel

yum install ncurses-devel

安装完毕即可。

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-04/99343p3.htm

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计10627字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7976113
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛 NAS-5:飞牛 NAS 中的 Docker 功能介绍 大家好,我是星哥,今天给大家带来如何在...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...