本文操做來自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,致使運行測試的時候失敗。從新編譯了數次。爲此,我打了好幾把屁股才稍微安撫了下本身受傷的心靈。
因此今天先寫到這裏,明天再看看如何配置吧!