专栏首页about云从零教你在Linux环境下(ubuntu)如何编译hadoop2.4

从零教你在Linux环境下(ubuntu)如何编译hadoop2.4

问题导读: 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的安装 (1)下载

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

(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

(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没有安装

[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: Execute failed: java.io.IOException: Cannot run program "cmake" (in 



directory "/home/wyf/hadoop-2.0.2-alpha-src/hadoop-common-project/hadoop-



common/target/native"): java.io.IOException: error=2, No such file or directory 



-> [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

解决方法:
CMake没有安装
  1. sudo yum install cmake

或则使用

  1. sudo apt-get install cmake

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

ERROR] Failed to execute goal org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-



alpha-3:compile (hdfs) on project hadoop-hdfs: Execution hdfs of goal 



org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3:compile failed: Plugin 



org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3 or one of its dependencies 



could not be resolved: Could not transfer artifact ant:ant:jar:1.6.5 from/to 



central (http://repo.maven.apache.org/maven2): GET request of: 



ant/ant/1.6.5/ant-1.6.5.jar from central failed: Read timed out -> [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/PluginResolutionException

[ERROR] 

[ERROR] After correcting the problems, you can resume the build with the command

[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版本过低,错误现象

[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.4.0:prot

oc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecut

ionException: 'protoc --version' did not return a version -> [Help 1]

[ERROR]

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit

ch.

[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 rea

d the following articles:

[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE

xception

[ERROR]

[ERROR] After correcting the problems, you can resume the build with the command



[ERROR]   mvn <goals> -rf :hadoop-common

hadoop2.4对应的版本是protobuf-2.5.0 解决办法:按照安装步骤中protobuf的安装即可

本文分享自微信公众号 - about云(wwwaboutyuncom)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大数据架构和模式(一): 大数据分类和架构简介

    问题导读 1.本文对大数据做了哪些分类? 2.对数据进行分类后,如何将它与合适的大数据模式匹配? 如何将大数据分为不同的类别 大数据问题的分析和解决通常很复杂。...

    用户1410343
  • 2016年,数据、分析和机器学习趋势五大预测

    问题导读 1.你是如何预测大数据行业的? 2.本文是如何预测的? 3.你认为该如何根据行业来计划自己的2016? ? 第一个预测是数据和分析将以惊人...

    用户1410343
  • hadoop3.0可用【 GA】版发布与alpha1版比较有哪些不同

    问题导读 1.容器新增加了哪个概念? 2.Opportunistic类型容器有什么特点? 3.为何说Opportunistic类型容器提高集群效率? 4.ha...

    用户1410343
  • OpenCV 人脸检测(一)

    OpenCV的Haar级联分类器可以通过对比分析相邻图像区域的特征来判断给定图像或子图像与已知对象是否匹配,从而给图像进行分类。提取图像的细节对产生稳定可靠的分...

    用户6021899
  • Linux 命令(132)—— groupadd 命令

    groupadd 命令使用命令行上指定的值以及系统中的默认值创建一个新的组帐户。新组将根据需要被添加到系统文件中。

    Dabelv
  • PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)

    PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) ,下面针对以上三种连接方式做下...

    joshua317
  • 一次让人脸红心跳的python数据分析

    好项目,正好让大家练手Python,于是决定研究亚马逊上Top100的细分品类——女式内衣!!!的销售情况。

    诸葛青云
  • 镁客请讲 | 星瀚资本杨歌:VC投资的本质是行业价值的判断

    一直以来,镁客网很少会在请讲栏目中对投资人进行采访。而在今天,这个惯例将被星瀚资本打破。他们投资过与豆瓣音乐合并重组的V.Fine Music(现已更名为DNV...

    镁客网
  • 关于three.js中的矩阵更新

    three.js中的Mesh和Camera都继承自Object3D,Object3D提供了更新图形矩阵的接口:

    charlee44
  • 14.1 greenplum与kafka连接

    Kafak作为数据流是比较常用的,接下来就用greenplum对接一下kafka,参考官方资料:

    小徐

扫码关注云+社区

领取腾讯云代金券