按照hadoop BUIDING.txt
* Windows System
* JDK 1.7+
* Maven 3.0 or later
* Findbugs 1.3.9 (if running findbugs)
* ProtocolBuffer 2.5.0
* CMake 2.6 or newer
* Windows SDK 7.1 or Visual Studio 2010 Professional
* Windows SDK 8.1 (if building CPU rate control for the container executor)
* zlib headers (if building native code bindings for zlib)
* Internet connection for first build (to fetch all Maven and Hadoop dependencies)
* Unix command-line tools from GnuWin32: sh, mkdir, rm, cp, tar, gzip. These
tools must be present on your PATH.
安装windows sdk7.1 折腾了很久都没成功,中间还是有些坑,最后实在不行找了一个干净的虚拟机一步步来。
1、在控制面板里卸载2010 Redistributable (包括,x64,x86)
2、卸载.NetFrameWork 4.0 以上版本,卸载以前安装的windows sdk(没有跳过),要先卸载.NetFramework否则sdk无法卸载 无法卸载
3、得到一个干净的环境,以windows7 64位为例
下载需要工具.Netframework 4.0 ,地址:
https://www.microsoft.com/en-in/download/details.aspx?id=17718
下载windows sdk 7.1 地址:
https://www.microsoft.com/en-in/download/details.aspx?id=8442
有三个iso 文件,64位的对应GRMSDKX_EN_DVD.iso。这两个文件都是用英文版本,否则可能出错
安装.netframework 4.0 ,再安装sdk7.1 (所有组件都勾选了). 顺序不能颠倒,否则msbuild 找不到。
4. 安装jdk 1.7+ (64位),maven, Cygwin ,cmake3.5.0 ,ProtocolBuffer。GnuWin32就不要安装了,缺少sh 命令。配置对应的环境变量JAVA_HOEM,MAVEN_HOME,把xxx\bin 都添加到Path 里。把protocolBuffer ,改名为protoc.exe.
5、打开windows sdk 7.1 里的 windows sdk 7.1 command prompt,验证以上程序是否安装正确,
msbuild
java -version
mvn -v
protoc --version
cmake --version
uname -a(check for cygwin)
进入源码目录例如c:\hdfs
设置set Platform=x64
ZLIB_HOME可以不用设置,如需要请设置为include 所在位置
最后执行mvn package -Pdist,native-win -DskipTests -Dtar,第一次编译需要联网。
编译完后就可以在dist 目录搜索到hadoop.dll ,winutils了。
二、编译hadoop-eclipse-plugin-xxx.jar
参照 https://github.com/winghc/hadoop2x-eclipse-plugin,里面写的很详细。需要注意的是
Note: compile issues resolve:
- For different hadoop, adjust ${hadoop2x-eclipse-plugin-master}/ivy/libraries.properties, to match hadoop dependency lib version.
- modify ${hadoop2x-eclipse-plugin}/src/contrib/eclipse-plugin/build.xml, in the node: <attribute name="Bundle-ClassPath" .... to add the jar needed.