本文操做来自hadoop2官方wiki 博主进行了稍许整理,另外遇到一些问题,参考搜索引擎java
博主曾尝试使用官方提供的依赖软件最新版,被翻来覆去的打了好几回脸,因此,至少在本文成文的时候的各依赖软件的最新版本都基本没法正常编译,因此仍是用官方推荐的版本linux
提供了网盘地址 点我下载各类环境软件 下面的依赖包基于网盘内的文件进行说明git
jdk-7u79-windows-x64.exe
JDK很少说了,直接安装,注意不要把它安装在有空格的路径下面,对没错说的就是 Program Files,直接装到 D:\Java 吧,挺不错的(其实不是不能装,就是配置环境变量会有点麻烦,麻烦越少越好,你懂的)。 须要设置环境变量 JAVA_HOME=jdk的安装目录 另外须要把 %JAVA_HOME%\bin 加入PATH。github
apache-maven-3.3.9-bin.zip MAVEN java 的依赖包和编译工具,下载以后解压便可。 须要把 MAVEN的解压目录\bin 加入PATH。apache
cmake-3.5.2-win32-x86.zip cmake 编译工具,下载后解压便可。 须要把 cmake的解压目录\bin 加入 PATH。windows
cygwin64-downloaded.zip cygwin是windows下的linux命令行模拟工具。其实只是maven里面写的命令都是基于linux的,因此windows下执行脚本会报错,因此我提供了压缩包版本,直接解压便可。(固然,目录里有安装版,但我以为应该不必) 须要把 cygwin的解压目录\bin 加入PATH。maven
protoc-2.5.0-win32.zip google提供的数据序列化包,压缩包里只有一个 protoc.exe,下载解压便可。 须要把 protoc的解压目录 加入PATH。工具
zlib-1.2.7.3-binary.zip zlib压缩库,这个网上没有找到二进制版本,这个binary是我本身编译的,因此若是出了问题,咳咳,请下载 source版本自行另外编译。下载解压便可。 须要添加环境变量ZLIB_HOME=zlib的解压目录。oop
vs2010 / winsdk7.1 其实博主一开始是打算用winsdk的,后来发现zlib找不到编译版本只能编译,因此就装了vs2010。全部后来也是用的vs2010的cmd。PS.博主把vs的安装包(英文版)也放了进去(固然你们网上随便找找均可以啦)。测试
hadoop-common.git.source.zip hadoop 的源码包,实际上是博主git下来而后打包的,有条件的同窗自行git吧。
git clone git://git.apache.org/hadoop-common.git
菜单里找到 Visual Studio Command Prompt (2010) 这个打开一个命令行窗口,而后输入如下命令进行测试:
java -version mvn -version tar protoc echo %ZLIB_HOME%
其实基本上都是PATH没有配置好,在cmd里直接从新设置一下就能够了。验证完不要关哦,咱们还在在这个命令行里进行编译。
1.3 编译喽~ 编译以前还要设置一个环境变量,只是编译的平台:
set Platform=x64
哦,忘记了,还要把目录切换到hadoop的源码目录: ##直接输入盘符:能够切换磁盘,如 P:,切到对应磁盘下面才能进行cd操做 cd P:\Code\hadoop-common 而后就能够输入maven命令编译hadoop了。
mvn package -Pdist,native-win -DskipTests -Dtar
好了,运气好的话,等等就能够收编译好的包啦。
细心的同窗能够看一下上面图片有一个“彩蛋”哦*
对了,编译完成以后的文件在 hadoop-common\hadoop-dist\target\hadoop-3.0.0-SNAPSHOT.tar.gz
此次编译我用了三个晚上(是的,博主弱爆了),主要是wiki里提到的不少依赖项我都不知道,因此找了半天,zlib没能找到二进制包,只好自行编译,还好不是很复杂。 protoc网上不少帖子给了googlecode的地址,但其实查一下就知道已经迁移到了github protoc@github。中间的一次,在 set PATH的时候下意识的加上了双引号 set PATH="P:\protoc;%PATH%"致使报错,还一度使用了maven的-X参数(即输出所有调试信息),才看出来。后来mvn的命令用错,没有加 -DskipTests,致使运行测试的时候失败。从新编译了数次。为此,我打了好几把屁股才稍微安抚了下本身受伤的心灵。
因此今天先写到这里,明天再看看如何配置吧!