Hadoop源码编译

本文作者:林伟兵,叩丁狼高级讲师。原创文章,转载请注明出处。

Hadoop源码编译

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
    为了更加了解Hadoop的运行机制,可以通过源码的方式解读Hadoop。本文主要介绍如何编译Hadoop源码,并且这里采用的版本是1.0.0。

1.安装前准备:

  1. JDK :这里要求最低安装的JDK版本是1.6 。

  2. 安装 Eclipse : 在安装JDK后,还需要安装进行Java开发调试的 IDE 工具。

  3. 安装辅助工具 Ant。

  4. 安装类 Unix Shell 环境 Cygwin,对于Cygwin安装,详细如下。

2.Cygwin 安装

  1. 下载地址如下:http://www.cygwin.com/

  2. 执行安装程序 setup.exe ; 在安装程序步骤4中选择Unix的在线编辑工具sed;在Windows 下构建Hadoop , 只需要文本处理工具 sed 。

  3. 安装成功后,启动 Cygwin64 Terminal 并执行 ant -version | sed “s/version/Verson/g” 如下图:

Hadoop源码编译_第1张图片
![叩丁狼教育.jpg](https://upload-images.jianshu.io/upload_images/807144-4233c3ecdc931fb8.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

3.Hadoop源码编译

  1. 从仓库下载源码:http://archive.apache.org/dist/ 或者直接链接 http://archive.apache.org/dist/hadoop/core/hadoop-1.0.0/

  2. 下载 hadoop-1.0.0.tar.gz 并解压。

  3. 启动Cygwin,进入Hadoop文件夹并执行ant eclipse,示意图2如下:

Hadoop源码编译_第2张图片
image.png

但是此次编译是不成功,错误信息如下图:

Hadoop源码编译_第3张图片
image.png

​ 这个问题主要是因为下载 ant-eclipse-1.0.bin.tar.bz2 不成功。解决的方案是 在Hadoop文件夹下找到build.xml。修改源码中的配置,将地址(一般在2218行):

get src="http://downloads.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2"

更换成如下地址:

get src="http://ufpr.dl.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2"

但是此次编译也是不成功(主要缺少 .eclipse.templates文件夹),如图4所示:

image.png

解决方案:在hadoop文件夹下

> mkdir .eclipse.templates
> ant eclipse

至此编译成功。(在编译的过程中可能还会出现各种各样的疑难杂症,需要笔者根据百度提示解决)

4.导入项目到Eclipse

  1. 启动Eclipse,并导入项目,这里选择整个解压好的文件夹:
Hadoop源码编译_第4张图片
image.png
  1. 导入后项目出现红色感叹号,出现第一个异常:

    escription    Resource    Path    Location    TypeUnbound classpath variable: 'ANT_HOME/lib/ant.jar' in project 'hadoop-1.0.0'    hadoop-1.0.0 Build path    Build Path Problem
    
    

这里主要是ant的jar包找不到,首先要为ant配置环境变量ANT_HOME,接着:


Hadoop源码编译_第5张图片
image.png

配置成功后我们可以看到Hadoop的源代码,主要包含三个文件夹core , hdfs , mapred:


Hadoop源码编译_第6张图片
image.png
Hadoop源码编译_第7张图片
叩丁狼教育.jpg

你可能感兴趣的:(Hadoop源码编译)