Windows 源码编译Hadoop 2.7.4生成X64
在build 之前,仔细阅读源码根目录中的 BUILDING.txt 文件
其中 Building on Windows部分有详细说明。
1.依赖软件
- Windows System (windows 7)
- JDK 1.7+ (jdk-8u65-windows-x64.exe)
- Maven 3.0 or later (apache-maven-3.3.9-bin)
- Findbugs (Findbugs 1.3.9)
- ProtocolBuffer 2.5.0 (protobuf-2.5.0.zip、protoc-2.5.0-win32.zip)
- CMake 2.6 or newer (cmake-3.7.1-win64-x64.msi)
- Windows SDK or Visual Studio 2010 Professional (vs2015.3.pro_chs.iso)
- zlib headers (if building native code bindings for zlib)( zlib128.zip)
- 首次编译需要联网 (下载所有maven依赖)
- 可以在win平台使用linux命令: sh, mkdir, rm, cp, tar, gzip. These tools must be present on your PATH (Git-2.14.1-64-bit.exe)
2.配置编译环境
JDK
1.安装JDK
2.新建系统变量JAVA_HOME= D:\Program Files\Java\jdk1.8.0_65
3.配置环境变量PATH,追加路径%JAVA_HOME%\bin
maven
1.解压maven到D:\maven
2.新建系统变量M2_HOME=D:\maven\
3.配置环境变量PATH,追加路径%M2_HOME%\bin
Findbugs
1.解压Findbugs到D:\findbugs
2.配置环境变量PATH,追加路径D:\findbugs\bin
zlib
1.解压zlib到D:\ zlib-1.2.8
2.新建环境变量 ZLIB_HOME= D:\zlib-1.2.8
cmake
直接安装运行 cmake-3.7.1-win64-x64.msi ,采用默认配置即可
protobuffer
1.解压protobuffer源码至D:\protobuf-2.5.0
2.解压protobuf-2.5.0-win64.zip中的protoc.exe复制到D:\protobuf-2.5.0\src目录下
3.命令行进入源码目录,执行mvn install
4.配置环境变量PATH,追加路径指向protoc.exe所在路径,D:\protobuf-2.5.0\src
protoc –version 验证是否安装成功
Git安装
验证安装成功方法: 输入 Linux 命令 ls 即可列出当前文件夹列表。
Ant
解压 Ant 到 D: \apache-ant-1.9.8
新建环境变量 ANT_HOME=D: \apache-ant-1.9.8
Path 中加入 %ANT_HOME%\bin
visual studio 2015 professional
请参考http://bbs.pcbeta.com/viewthread-1618544-1-1.html
3.编译准备
下载 Hadoop 源码并解压
hadoop-2.7.4-src.tar.gz
hadoop-2.7.4-src
用 VisualStudio 2015 分别打开,自动升级项目信息到 2015
E:\hadoop\hadoop-*-src\hadoop-common-project\hadoop-common\src\main\native\native.sln
E:\hadoop\hadoop-*-src\hadoop-common-project\hadoop-common\src\main\winutils\winutils.sln
双击打开后会自动检测是否需要升级vc++编译器,点击确定
将其中所有 Visual Studio 10 替换成 Visual Studio 14
E:\hadoop\hadoop-*-src\hadoop-hdfs-project\hadoop-hdfs\pom.xml
4.开始编译
用管理员身份打开“ VS2015 开发人员命令提示 ”
命令行里面执行批处理 “vcvarsx86_amd64.bat”
切换进入 D:\Program Files\Microsoft Visual Studio 14.0 \VC\bin\x86_amd64 目录
执行 vcvarsx86_amd64.bat
编译 Hadoop
切换进入 Hadoop 源码目录 D:\hadoop-2.7.4-src
执行命令
mvn package -Pdist,native-win -DskipTests –Dtar
等待编译,出现如下提示,代表编译成功
编译完成后的包在如下目录中