这篇文章对于我在windows 64位系统下编译hadoop2.7.1很有帮助,虽然最终编译到hadoop-common之后就失败和跳过了,但hadoop-common编译出来了,和官方原包大小相差几十字节,不过能用,蛮好,以后有时间再继续研究后面的为何不成功吧。
首先可以看一下编译指南: https://svn.apache.org/repos/asf/hadoop/common/trunk/BUILDING.txt
Windows下面编译打包的命令为:
mvn package -Pdist,native-win -DskipTests -Dtar
主要是有个软件必须得有,不是简单的mvn package就可以的,依赖包括:
0.JDK的JAVA_HOME和Maven的M2_HOME,这是基本配置;
1.因为有native code,所以要有msbuild,即visual studio 2010/2012/2013之一(还不能是Express的,似乎Express的不支持64位编译)
Windows SDK和VS是二选一的,因为之前一点其他问题,我都装了。
2.protocolbuffer,下载并把exe路径加入path
3.make for win32,下载并把exe路径加入path
4.Cygwin
5.zlib headers
打开命令行到hadoop源代码路径,然后:
对于64位系统,设置
set Platform=x64
对于32位系统,设置
set Platform=Win32
设置ZLIB_HOME到你的路径,比如我的是
set ZLIB_HOME=D:\zlib-1.2.8
然后执行
mvn package -Pdist,native-win -DskipTests -Dtar
经过漫长的等待,应该可以成功的打包出来
e:\temp\hdp\hadoop-dist\target\hadoop-2.5.1.tar.gz
另外附上两个网址,如何在windows下运行hadoop,没有测试过,可以自行试验。
http://zutai.blogspot.com/2014/06/build-install-and-run-hadoop-24-240-on.html
http://stackoverflow.com/questions/18630019/running-apache-hadoop-2-1-0-on-windows
《Hadoop源代码在Windows下面的编译 – 推酷》有一个想法
评论已关闭。