问题导读:

1.如果获取hadoop src  maven包?
2.编译hadoop需要装哪些软件?
3.如何编译hadoop2.4?
扩展:
编译hadoop为何安装这些软件?

一、首先下载hadoop源码包
下载的方式还是比较多的
1.svn的方式
svn下载首先需要安装SVN,如果想尝试使用svn,可以参考源码管理、获取网络源码工具:TortoiseSVN使用手册,hadoop的svn下载地址点此
2.压缩包的方式
这里我们介绍一种压缩包的方式。
首先我们登录官网:
http://hadoop.apache.org/,我们找到下面链接,点进去下载即可。如果刚接触,不知道怎么下载,可以查看帖子新手指导:hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍,里面介绍的很详细。

二、解压

  1. aboutyun@master:~$ tar zxvf hadoop-2.4.0-src.tar.gz

解压完毕,我们会看到相应的文件夹:

三、解压完毕,我们开始准备编译所需要的软件
这里软件的准备,很多文章写的都不全,这里整理一下。哪些软件是需要安装的。

这里需要说明的是有的Linux有自带的这些工具,这个需要仔细看一下版本是否匹配,不匹配则升级一下,有些不能升级,那么就重装一下吧

1、jdk的安装
步骤下载压缩包、解压、配置环境变量

(1)jdk下载
链接: http://pan.baidu.com/s/1jGr41SU 密码: rawv
(2)jdk解压

  1. tar zxvf jdk-7u51-linux-x64.tar.gz

然后重命令为:

(3)配置环境变量:
如下图所示红字部分为:(记得这里的路径改成自己的实际安装路径)

  1. /usr/jdk1.7/bin

(4)检验是否安装成功

2、maven的安装

  1. sudo apt-get install maven

复制代码

我这里已经安装

上面可能还需要配置环境变量之类的,但是我这里没有好像是系统自带的,网上的资料也比较多,注意maven的版本,我这里是3.0.4,hadoop2.4需要maven的这个版本或则更高的版本3.2.1版本也是可以的。
验证安装是否成功

  1. mvn -version

3.protobuf的安装
为防止出错,这里补充一些内容,
3.1先安装g++

  1. sudo apt-get install g++

(1)下载

  1. sudo wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

由于google不能访问,可以从网盘下载链接:http://pan.baidu.com/s/1dDgWe6P 密码:xgiu

(2)解压

  1. tar zxvf protobuf-2.5.0.tar.gz

如下效果:
>

然后进入protobuf-2.5.0文件夹,进行如下操作:

  1. $ sudo ./configure
  2. $ sudo make
  3. $ sudo make check
  4. $ sudo make install
  5. $ sudo ldconfig

修改环境变量:

  1. sudo nano /etc/profile
  1. export LD_LIBRARY_PATH=~/protobuf-2.5.0

(LD_LIBRARY_PATH的这里,填写的是protobuf文件的位置)

  1. source /etc/profile

注意:配置/etc/profile,在虚拟机重启后,可能配置会失效,所以重启后,需要再次执行source操作。

(3)验证

  1. protoc --version

4.安装openssl库

  1. sudo apt-get install libssl-dev

5.CMake安装

  1. sudo yum install cmake

或则

  1. sudo apt-get install cmake

6.ant安装

(1)首先下载ant
百度网盘: apache-ant-1.9.4-bin.tar.gz
http://pan.baidu.com/s/1c0vjhBy

或则下面链接:
apache-ant-1.9.4-bin.tar.gz

(2)解压

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

(3)配置环境变量

如下图所示:
1.打开profile

  1. sudo vi /etc/profile

2.添加下图红字部分,记得修改成自己的路径

3.生效

  1. source  /etc/profile

4.检验

  1. ant -version

四、编译hadoop2.4
上面准备工作已经做的差不多了,我们终于可以开始,记得进入src文件夹下,输入下面命令

  1. mvn package -Pdist,native -DskipTests -Dtar

等了40多分钟,ok

在目录~/hadoop-2.4.0-src/hadoop-dist/target下有文件:
hadoop-2.4.0.tar.gz

更多内容:hadoop2.4汇总:hadoop2.4插件下载、完全分布式、伪分布、eclipse插件开发大全

问题总结:
这里还需要在补充:
1.遇到错误1:CMake没有安装

  1. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-
  2. plugin:1.6:run (make) on project hadoop-common: An Ant BuildException has
  3. occured: Execute failed: java.io.IOException: Cannot run program "cmake" (in
  4. directory "/home/wyf/hadoop-2.0.2-alpha-src/hadoop-common-project/hadoop-
  5. common/target/native"): java.io.IOException: error=2, No such file or directory
  6. -> [Help 1]
  7. [ERROR]
  8. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e
  9. switch.
  10. [ERROR] Re-run Maven using the -X switch to enable full debug logging.
  11. [ERROR]
  12. [ERROR] For more information about the errors and possible solutions, please
  13. read the following articles:
  14. [ERROR] [Help 1]
  15. http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

解决方法:
CMake没有安装

  1. sudo yum install cmake

或则使用

  1. sudo apt-get install cmake

2.遇到错误2:ant没有安装

  1. ERROR] Failed to execute goal org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-
  2. alpha-3:compile (hdfs) on project hadoop-hdfs: Execution hdfs of goal
  3. org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3:compile failed: Plugin
  4. org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3 or one of its dependencies
  5. could not be resolved: Could not transfer artifact ant:ant:jar:1.6.5 from/to
  6. central (http://repo.maven.apache.org/maven2): GET request of:
  7. ant/ant/1.6.5/ant-1.6.5.jar from central failed: Read timed out -> [Help 1]
  8. [ERROR]
  9. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e
  10. switch.
  11. [ERROR] Re-run Maven using the -X switch to enable full debug logging.
  12. [ERROR]
  13. [ERROR] For more information about the errors and possible solutions, please
  14. read the following articles:
  15. [ERROR] [Help 1]
  16. http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException
  17. [ERROR]
  18. [ERROR] After correcting the problems, you can resume the build with the command
  19. [ERROR]   mvn <goals> -rf :hadoop-hdfs

1.首先下载ant
百度网盘: apache-ant-1.9.4-bin.tar.gz
http://pan.baidu.com/s/1c0vjhBy

或则下面链接:
apache-ant-1.9.4-bin.tar.gz

2.解压

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

3.配置环境变量
记得配置环境变量
如下图所示:
1.打开profile

  1. sudo vi /etc/profile

2.添加下图红字部分,记得修改成自己的路径

3.生效

  1. source  /etc/profile

4.检验

  1. ant -version

3.protobuf版本过低,错误现象

  1. [ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.4.0:prot
  2. oc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecut
  3. ionException: 'protoc --version' did not return a version -> [Help 1]
  4. [ERROR]
  5. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
  6. ch.
  7. [ERROR] Re-run Maven using the -X switch to enable full debug logging.
  8. [ERROR]
  9. [ERROR] For more information about the errors and possible solutions, please rea
  10. d the following articles:
  11. [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE
  12. xception
  13. [ERROR]
  14. [ERROR] After correcting the problems, you can resume the build with the command
  15. [ERROR]   mvn <goals> -rf :hadoop-common

hadoop2.4对应的版本是protobuf-2.5.0

解决办法:按照安装步骤中protobuf的安装即可

4.权限问题

解决办法:
(1)加上sudo
(2)通过

  1. ll

安装包解压之后,所属用户可能发生变化:

改变用户

sudo chown -R aboutyun:aboutyun hadoop-2.4.0-src

上面aboutyun改成自己的所属组和用户

命令查看是否属于当前用户

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (make) on project hadoop-common: An Ant BuildException has occured: exec returned: 1 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 安装zlib-devel
ubuntu安装是
sudo apt-get install zlib1g-dev
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-pipes: An Ant BuildException has occured: exec returned: 1
[ERROR] around Ant part ...<exec dir="/home/xxl/hadoop-2.5.2-src/hadoop-tools/hadoop-pipes/target/native" executable="cmake" failonerror="true">... @ 5:120 in /home/xxl/hadoop-2.5.2-src/hadoop-tools/hadoop-pipes/target/antrun/build-main.xml
[ERROR] -> [Help 1]

安装:sudo apt-get install libssl-dev

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (tar) on project hadoop-dist: An Ant BuildException has occured: exec returned: 1
[ERROR] around Ant part ...<exec dir="/home/xxl/hadoop-2.5.2-src/hadoop-dist/target" executable="sh" failonerror="true">... @ 21:96 in /home/xxl/hadoop-2.5.2-src/hadoop-dist/target/antrun/build-main.xml

安装:sudo apt-get install build-essential

sudo apt-get install libglib2.0-dev

错误信息:

1
2
3
4
5
6
7
8
9
10
[ERROR] Failed to execute goal on project hadoop-auth: Could not resolve dependencies for project org.apache.hadoop:hadoop-auth:jar:2.2.0: Could not transfer artifact org.mortbay.jetty:jetty:jar:6.1.26 from/to central (https://repo.maven.apache.org/maven2): GET request of: org/mortbay/jetty/jetty/6.1.26/jetty-6.1.26.jar from central failed: SSL peer shut down incorrectly -&gt; [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :hadoop-auth

解决办法:
这是hadoop的一个bug,在pom.xml中添加下面patch即可,详见https://issues.apache.org/jira/browse/HADOOP-10110 。
编辑`hadoop-common-project/hadoop-auth/pom.xml`文件:

1
vi hadoop-common-project/hadoop-auth/pom.xml

<dependencys></dependencys>节点中插入:

 
1
2
3
4
5
<dependency>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>jetty-util</artifactId>
  <scope>test</scope>
</dependency
 
 

错误信息:

1
2
3
4
5
6
7
8
9
10
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (make) on project hadoop-pipes: An Ant BuildException has occured: exec returned: 1 -&gt; [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :hadoop-pipes

解决办法:

1
apt-get install libssl-dev

ubuntu 12.04下如何编译hadoop2.4的更多相关文章

  1. 在Ubuntu 12.04下编译qtiplot

    不在windows下,再加上不想用盗版,所以需要一个origin的替代品——qtiplot.虽然我非常抵抗用这种不停点来点去的软件,用R的ggplot2画图多好啊,高效.优雅.漂亮,但是终抵不过老板一 ...

  2. 在Ubuntu 12.04下采用apt-get的方法安装Qt4

    在Ubuntu 12.04下采用apt-get的方法安装Qt4 注:之前发表的一篇博客是采用编译源码的方式安装Qt4,这是很有用的方式,因为源码安装对于所有系统都是通用的,其次,在使用交叉编译器的时候 ...

  3. Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma

    1.下载angularjs 进入其官网下载:https://angularjs.org/‎,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angular ...

  4. Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)

    现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...

  5. 升级Ubuntu 12.04下的gcc到4.7

    我们知道C++11标准开始支持类内初始化(in-class initializer),Qt creator编译出现error,不支持这个特性,原因在于,Ubuntu12.04默认的是使用gcc4.6, ...

  6. Ubuntu 12.04下GAMIT10.40安装说明

    转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0225/164.html?1456481297 Ubuntu 12.04下GAMIT10.40安装步 ...

  7. [转]ubuntu(12.04)下, 命令 ,内核 源代码的获取

    [转]ubuntu(12.04)下, 命令 ,内核 源代码的获取 http://blog.chinaunix.net/uid-18905703-id-3446099.html 1.命令:例如:要查看l ...

  8. Ubuntu 12.04 下安装 Eclipse

    方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse 方法二:(优点是安装内容清爽,缺点是配置麻烦)1.安装JD ...

  9. 在Ubuntu 12.04下创建eclipse的桌面链接

    在Ubuntu 12.04下创建eclipse的桌面链接 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在Ubuntu 12.04上安装Hadoop并 ...

随机推荐

  1. [Algorithm] Universal Value Tree Problem

    A unival tree (which stands for "universal value") is a tree where all nodes under it have ...

  2. [Backbone] First Application!!!!

    Important things to remember: 1. Usually, we create Collection, CollectionViews, Model, View. Collec ...

  3. 【Canvas】动态正17边光阑 向高斯致敬

    [背景知识] 公元前三世纪,欧几里得在<几何原本>中记载了正方形,正五边形,正六边形的做法,后来人们也掌握了正十五边形作图,但之后两千多年,人们没有在更高阶边形上取得突破. 1796年,1 ...

  4. C#.NET常见问题(FAQ)-listView如何显示网格线

    把GridLines设置为True     更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123   我的在线论坛: http:/ ...

  5. C#.NET常见问题(FAQ)-如何把函数名作为参数传递给另一个函数

    在主窗体中使用的还是普通的函数,但是test函数有一个新的参数,就是method   这个method所指向的就是前面委托定义的method     更多教学视频和资料下载,欢迎关注以下信息: 我的优 ...

  6. CAD打开慢,卡在99%

    问题描述 打开AutoCAD的时候,软件停留在加载99%,点击出现[无法响应],要么等待,要么强行关闭,若平时正常关闭CAD时也异常缓慢. 原因分析 破解版,没有联网就激活了.CAD默认启动需要联网, ...

  7. Python中的乱码

        我把写好的Python脚本导入到ArcGIS中的ToolBox中,在本机测试是没有问题的.为了把工具分享给其他人,即在其他电脑上使用,我必须将脚本文件(*.py)导入到工具箱文件(*.tbx) ...

  8. curl库的使用,32-64

    http 使用curl发起https请求 http://www.cnblogs.com/ainiaa/archive/2011/11/08/2241385.html Curl配置及编译: CFLAGS ...

  9. Flume wasn't able to parse timestamp header

    来自:http://caiguangguang.blog.51cto.com/1652935/1384187 flume bucketpath的bug一例 测试的配置文件: 1 2 3 4 5 6 7 ...

  10. Linux see 网卡当前流量

    linux see网卡的当前流量 sar –n DEV  1 2  命令后面1 2 意思是:每一秒钟取1次值,取2次. DEV显示网络接口信息 -n参数很有用,他有6个不同的开关:DEV | EDEV ...