Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译

编译 Hadoop-2.5.0-cdh5.2.1

这个版本依旧可以在 http://archive.cloudera.com/cdh5/cdh/5/ 里下载,显示的时间为 2014-11-23。

为什么要编译这个版本的?

我选用 Maven 的国内镜像地址为

<mirror>
    <id>nexus-osc</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexusosc</name>
    <url>http://maven.oschina.net/content/groups/public/</url>
</mirror>

用浏览器可以打开

http://maven.oschina.net/content/groups/public/org/apache/hadoop/hadoop-common/

可以看到,最新的 cdh 版本的只有 2.5.0-cdh5.2.1 (2014-12-02)

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第1张图片

编译步骤

和编译 Hadoop-2.3.0-cdh5.2.0步骤完全一致!请参考 Hadoop-2.5.0-cdh5.2.0 获取源码及编译

mvn package -Pdist,native -DskipTests -Dtar

遇到不可解决的问题 T_T

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第2张图片
Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第3张图片

问题描述:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hadoop-auth: Compilation failure
[ERROR] error: error reading /home/hadoop/.m2/repository/org/apache/zookeeper/zookeeper/3.4.5-cdh5.2.1/zookeeper-3.4.5-cdh5.2.1.jar; error in opening zip file

解决办法:

笔者首先去相关目录下查看:

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第4张图片

不打开失败就怪了,才 8k ,肯定下载的不对!

在国内 Maven 镜像出看到的:

这里写图片描述

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第5张图片

其中出现一个很奇怪的问题,它说它并没有找到相应的依赖包。

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第6张图片

结果笔者在 maven 下找到了 zookeeper-3.4.5-cdh5.2.1.jar.lastUpdated 这个残缺的包。查看一下,发现里面的地址都没全,于是笔者就把 zookeeper 的地址补充完整,即:

http\://maven.oschina.net/content/groups/public/org/apache/zookeeper/zookeeper/3.4.5-cdh5.2.1/

原因:猜测是要么网络不好,要么路径都是对的,它脑抽了,没找到!这个问题的解决是修改国内OSChina提供的镜像的 URL,使之更详细

<mirror>
    <id>nexus-osc</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexusosc</name>
    <url>http://maven.oschina.net/content/groups/public/org/</url>
</mirror>

总之,搞了将近两天了,这个问题居然就这样过去了,直到现在,我也不知道,是不是我的做法使之继续编译下去?

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第7张图片
Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第8张图片
Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第9张图片
Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第10张图片
Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第11张图片

上图中的 Auth—Examples 不知怎么解决了,可是又在 Hadoop Common 处再次阵亡了:

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第12张图片
这里写图片描述

中间甚至还出现了以下问题:

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第13张图片

都是什么鬼?反正把 Maven 本地库删除了,也重新解压源码包,重头开始!另:

 mvn package -Pdist,native -DskipTests -Dtar -rf :hadoop-common

这个命令还挺好用的, -rf :hadoop-common 是跳过其他的,直接从 hadoop-common 开始搞!

最后,最后…在 Hadoop-maven-plugins 处,哥又牺牲了!

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第14张图片

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第15张图片

这个问题,我上网看了下国内OSChina提供的镜像,呵呵呵,发现相应目录下居然没东西!没错!就是没东西!

这下笔者彻底死心了,就放手吧,别想它…..

后记(2015.10.21):虽然这个版本编译没成功,但是 Hadoop-2.5.0-cdh5.3.2 版本编译成功了,解决办法都一样,所以应该也能正确编译出这个版本。

编译 Hadoop-2.5.0-cdh5.3.2

编译步骤

直接到源码包目录直接

mvn package -Pdist,native -DskipTests -Dtar

遇到的问题 T_T

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第16张图片

问题分析:采用的 Maven 镜像根本没有 hadoop-2.5.0-cdh5.3.2

解决办法:在 Maven 的 oschina 的镜像处增加 第三方镜像地址 即可!详细见:Centos6.5 下 Maven 安装

编译结果

闲话少说,直接上图!

Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第17张图片
Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译_第18张图片

经验证,编译之后的本地库文件,可使用!下载地址:native(hadoop-2.5.0-cdh5.3.2)

你可能感兴趣的:(Hadoop-2.5.0-cdh5.2.1以及Hadoop-2.5.0-cdh5.3.2 获取源码及编译)