Hadoop-2.4.1在win7下的编译

今天终于在win7 64位下把Hadoop编译成功了。

开始我使用win7 32位的系统编译,没有成功:-(。


1 下载安装java jdk环境。hadoop是用java写的,因此为了编译和运行hadoop,我们首先要安装java环境。

我下载的是oracle Java SE Development Kit 7.

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

安转java很简单,只需要双击jdk-7u67-windows-x64,按提示安装就可以了。


2 设置JAVA_HOME环境变量,

set JAVA_HOME=C:\Progra~1\Java\jdk1.7.0_67

你可以通过命令行窗口检查JAVA_HOME的值是否正确:

C:\Users>echo %JAVA_HOME%

C:\Program Files\Java\jdk1.7.0_67


3 安装Cygwin

Cygwin是windows下的unix运行环境,Hadoop编译中需要unix命令: sh, mkdir, rm, cp, tar, gzip。

Cygwin的安装很简单,下载Cygwin的安装程序setup-x86_64,双击,默认安装即可。


4 安装windows SDK 7 和.NET Framework 4

到这个网址下载安装http://www.microsoft.com/en-us/download/details.aspx?id=8279


5 下载hadoop-2.4.1-src.tar.gz,apache-maven-3.2.3-bin.tar.gz, findbugs-1.3.9.tar.gz, protoc-2.5.0-win32.zip 和protobuf-2.5.0.zip.

到这里,编译所需的工具和包都准备好了,下面开始准备编译。

我的工作目录是D:\hadoop,后面我都将以该目录为基础讲解。


6 在Windows SDK Command Prompt命令窗口中编译,同时设置Cygwin的路径,这样命令行中就可以调用UNIX命令了。

Start->All Programs->Microsoft Windows SDK v7.1->Windows SDK 7.1 Command Prompt

cd D:\hadoop

D:\hadoop>set CYGWIN_DIR=%HOMEDRIVE%\cygwin64

D:\hadoop>set PATH=%CYGWIN_DIR%\bin;%PATH%;


7  安装Maven

D:\hadoop>tar xvzf apache-maven-3.2.3-bin.tar.gz

解压后,Maven的目录是D:\hadoop\apache-maven-3.2.3。

下面配置环境变量,以便mvn命令可以被找到。

D:\hadoop>set M2_HOME=D:\hadoop\apache-maven-3.2.3
D:\hadoop>set PATH=%M2_HOME%\bin;%PATH%;


8 安装FindBugs.

D:\hadoop>tar xvzf findbugs-1.3.9.tar.gz
解压后,findbugs的目录是D:\hadoop\findbugs-1.3.9。
将findbugs加入环境变量PATH中。
D:\hadoop>set FINDBUGS_HOME=D:\hadoop\findbugs-1.3.9
D:\hadoop>set PATH=%FINDBUGS_HOME%\bin;%PATH%;


9 安装ProtocolBuffer 2.5.0

ProtocolBuffer是google开发的用于序列化结构化语言的开源程序。

我们需要去google的网站下载两个包:protoc-2.5.0-win32.zip和protobuf-2.5.0.zip。

protoc-2.5.0-win32.zip中是可执行文件protoc.exe。

protobuf-2.5.0.zip中是源代码。

解压protoc-2.5.0-win32.zip和protobuf-2.5.0.zip,将protoc-2.5.0-win32\protoc.exe拷贝到protobuf-2.5.0\src和protobuf-2.5.0中。

接下来需要安装java运行库。

D:\hadoop>cd protobuf-2.5.0\java
D:\hadoop\protobuf-2.5.0\java>mvn test
D:\hadoop\protobuf-2.5.0\java>mvn install
D:\hadoop\protobuf-2.5.0\java>mvn package 

将protobuf加入环境变量PATH中。
D:\hadoop>set PROTOC_HOME=D:\hadoop\protobuf-2.5.0
D:\hadoop>set PATH=%PROTOC_HOME%\bin;%PATH%;


10 编译Hadoop所需的环境都已经配置好了,我们可以开始编译了:

设置平台环境变量

D:\hadoop>set Platform=x64

解压并开始编译Hadoop

D:\hadoop>tar xvzf hadoop-2.4.1-src.tar.gz
D:\hadoop>cd hadoop-2.4.1-src
D:\hadoop\hadoop-2.4.1-src>mvn package -Pdist,native-win -DskipTests -Dtar



到这里,Hadoop应该已经编译成功了。为了以后编译的方便,可以把配置环境变量的步骤放到一个脚本中,这样,每次打开Windows SDK 7.1 Command Prompt命令窗口后,执行这个脚本就可以自动配置环境变量了:

@echo off
set JAVA_HOME=C:\Progra~1\Java\jdk1.7.0_67
set CYGWIN_DIR=%HOMEDRIVE%\cygwin64
set PROTOC_HOME=D:\hadoop\protobuf-2.5.0
set FINDBUGS_HOME=D:\hadoop\findbugs-1.3.9
set M2_HOME=D:\hadoop\apache-maven-3.2.3
set PATH=%CYGWIN_DIR%\bin;%PROTOC_HOME%;%FINDBUGS_HOME%\bin;%M2_HOME%\bin;%PATH%;

注意,我没有把set Platform=x64放到这个脚本中,这是因为set Platform=x64必须得在命令窗后中手动设置,否则Hadoop编译会失败。





参考:

http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html

http://wiki.apache.org/hadoop/Hadoop2OnWindows

http://docs.oracle.com/javase/8/docs/

http://findbugs.sourceforge.net/manual/installing.html










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值