Hadoop0.21.0编译手册

来源:互联网 发布:苹果mac重装系统 编辑:程序博客网 时间:2024/05/07 01:59

目录

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命令能够找到命令image

image

1. 安装Cygwin

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

A. 下载安装引导文件

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

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

image

C. 选择安装路径

image

D. 选择安装包存放路径

image

E. 选择网络环境

image

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

image

G. 选择需要的安装包

image

image

image

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

H. 安装

image

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

image

J. 配置环境变量

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

K. 安装完成后运行Cygwin

image

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目录

image

B. 修改编译器设置

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

image

image

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

image

image

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

image

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

image

image

C. 编译工程

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

image

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文件进行修改

image

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

image

image

image

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

image

image

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. 查看集群的各项功能,是否正确,正确则证明编译成功。

image