Windows环境编译Hadoop2.7.2
环境准备: |
1. Hadoop 2.7.2源码
下载地址:http://pan.baidu.com/s/1jHiczcE
2. window 7 32bit
3. JDK 1.7
4. Maven 3.0 或更新版本
5. ProtocolBuffer 2.5.0 (必须是2.5版本)
下载地址:http://pan.baidu.com/s/1jH3bmtS
6. CMake 2.6 或更新版本
下载地址:http://pan.baidu.com/s/1i4minel
7. Windows SDK 7
下载地址:http://pan.baidu.com/s/1ntW1b5n
8. Windows SDK 8.1 (编译2.7.2时需要, 2.5版本不需要)
下载地址: http://pan.baidu.com/s/1dEh68VZ(完整包)
9. Visual Studio 2010 Professional
下载地址:http://pan.baidu.com/s/1qXwdsC0
10. Zlib-1.2.7(DLL版本,带.h和lib) 或以上版本
下载地址:http://pan.baidu.com/s/1geqqaKr
11. VC-Compiler-KB2519277.exe
下载地址:http://pan.baidu.com/s/1hrn6m9m
12. ammintrin.h
下载地址:http://pan.baidu.com/s/1qX78B7I
环境配置
1. 安装JDK,路径不要包含空格,设置JAVA_HOME
2. 安装Maven,并设置中央仓库(推荐oschina),同时将bin目录放到系统环境变量的path;
3. 安装VS2010
4. 安装WSDK 7
5. 安装WSDK 8.1
6. 安装VC-Compiler-KB2519277 (这个很娖,会导致ammintrin.h损坏)
7. 将ammintrin.h文件复制到以下路径(VS2010安装目录)
C:\Program Files\Microsoft Visual Studio 10.0\VC\include
8. 安装Zlib,并设置ZLIB_HOME到安装目录
9. 将ProtocolBuffer对应的protoc.exe放到System32目录
编译代码
1. 将源代码解压到短路目录径下且不含有中文路径,如D:\Hadoop
2. 开始->Windows SDK 7.1 CommandPrompt,右键管理员身份运行
注意:这里要是7.1,如果是7.0A编译到Hadoop-common会失败
3. 在命令行下, 设置平台(根据需要进行配置,我的是32位系统)
setPlatform=Win32
4. 设置maven的运行内存(有时候会出现OOM)
setMAVEN_OPTS= -Xms128m -Xmx512m
5. 运行编译
mvnpackage -Pdist -DskipTests –Dtar
6. 如果编译有失败的话,需要先编译hadoop-common,然后再编译完整工程
7. 如果是要导入到Eclipse中,需要先进入到hadoop-maven-plugins目录,然后运行
1) mvn install, 这里会疯狂的下载,需要等待较长时间,完成后回到代码根目录
2) mvn eclipse:eclipse -DskipTests