Hadoop0.21.0编译手册

目录

Hadoop0.21.0编译手册... 1

1. 安装环境及基本准备... 3

2. 安装Cygwin. 4

3. 编译common模块... 10

A. 导入工程... 10

B. 修改编译器设置... 10

C. 编译工程... 13

4. Hdfs和mapreduce模块编译... 15

5. 验证编译结果... 17

 

1. 安装环境及基本准备

操作系统:windows xp

IDE: eclipse

JDK:1.6以上版本,需配置好JAVA_HOME以及Path

Ant:下载最新版Ant:http://ant.apache.org/bindownload.cgi解压到任意目录,将ant的bin目录添加到Path中。

简单验证,在命令行下输入java和ant命令能够找到命令Hadoop0.21.0编译手册_第1张图片

image

1. 安装Cygwin

说明:Cygwin是在windows系统上模拟linux环境的软件。

A. 下载安装引导文件

http://www.cygwin.com/setup.exe

B. 运行,在弹出框中选择从Internet下载选项

Hadoop0.21.0编译手册_第2张图片

C. 选择安装路径

Hadoop0.21.0编译手册_第3张图片

D. 选择安装包存放路径

Hadoop0.21.0编译手册_第4张图片

E. 选择网络环境

Hadoop0.21.0编译手册_第5张图片

F. 选择下载站点,推荐台湾的一个站点,如下图

Hadoop0.21.0编译手册_第6张图片

G. 选择需要的安装包

Hadoop0.21.0编译手册_第7张图片

Hadoop0.21.0编译手册_第8张图片

Hadoop0.21.0编译手册_第9张图片

包括Net下的openssh,openssl;Base下的sed;Editors下的vim;Devel下的subversion

H. 安装

Hadoop0.21.0编译手册_第10张图片

I. 等待安装完成,大概10几分钟

Hadoop0.21.0编译手册_第11张图片

J. 配置环境变量

将cygwin的bin,目录和usr/bin目录加入到PATH环境变量中

K. 安装完成后运行Cygwin

Hadoop0.21.0编译手册_第12张图片

L. 配置sshd服务(执行上图的ssh-host-config命令)

image

是否privileges被使用:no;注册sshd服务yes;输入CYGWIN的value=ntsec;OK!

M. 在服务中开启名叫“CYGWIN sshd”的服务

N. 配置ssh登录

执行

$ ssh-keygen

$ cd ~/.ssh/

$ cp id_rsa.pub authorized_keys

$ exit

O. 验证是否成功

打开cygwin客户端,ssh localhost,登录成功则cygwin安装成功

 

1. 编译common模块

A. 导入工程

在eclipse中新建名为“common”的工程,路径指向待编译的common目录

Hadoop0.21.0编译手册_第13张图片

B. 修改编译器设置

在common工程上点击右键,选择属性。

Hadoop0.21.0编译手册_第14张图片

Hadoop0.21.0编译手册_第15张图片

去掉Java Builder前面的钩,点击new按钮新建ant编译器

Hadoop0.21.0编译手册_第16张图片

Hadoop0.21.0编译手册_第17张图片

为builder命名,选择Buildfile位置 Browse File System… 这里需要选择common根目录下的build.xml文件

Hadoop0.21.0编译手册_第18张图片

在target选项卡中修改 Manual Build的targets,只保留jar

image

Hadoop0.21.0编译手册_第19张图片

C. 编译工程

在common工程的project选项中去掉自动编译的选项,点击编译,完成

Hadoop0.21.0编译手册_第20张图片

image

编译后在common的build目录下即生成了两个jar文件和其他一下文件夹。其中hadoop-common-0.21.1-SNAPSHOT.jar是二进制包,而hadoop-common-0.21.1-SNAPSHOT-sources.jar是源码包。

image

注意:有编译的时候会报找不到lib文件夹的错误,需要在build下手工简历lib文件夹即可

对于hdfs,mapreduce的编译同样适用

1. Hdfs和mapreduce模块编译

在编译hdfs和mapreduce的时候,由于对common有依赖关系。需要去网站下载相关包。不过在默认的配置中,是找不到该包的,会报模块找不到错误。

需要对hdfs,mapreduce的ivy目录中的libraries/properties文件进行修改

Hadoop0.21.0编译手册_第21张图片

修改以下两项的值,如下图所示。

image

image

image

然后其他的操作和common编译一样,即可完成编译过程,编译后的build文件夹如下:

Hadoop0.21.0编译手册_第22张图片

Hadoop0.21.0编译手册_第23张图片

1. 验证编译结果

a. Sh ${HADOOP_HOME}/bin/stop-all.sh停掉hadoop集群。然后删除${HADOOP_HOME}下三个工程相关的包。

b. 把编译成功的hadoop-common-0.21.1-SNAPSHOT.jar,hadoop-hdfs-0.21.1-SNAPSHOT.jar和 hadoop-mapred-0.21.1-SNAPSHOT.jar三个jar包拷贝到hadoop集群${HADOOP_HOME}目录下。

c. Sh ${HADOOP_HOME}/bin/start-all.s重启hadoop集群。

d. 查看集群的各项功能,是否正确,正确则证明编译成功。

Hadoop0.21.0编译手册_第24张图片

你可能感兴趣的:(mapreduce,hadoop,ant,集群,Build,编译器)