在Windows作業系統上編譯Hadoop原始碼
阿新 • • 發佈:2019-02-15
在上篇部落格中,筆者提到曾經在Windows上編譯Hadoop原始碼。這裡將具體流程列出。
一、作業系統和Hadoop版本
Windows 10專業版(64位),Hadoop 2.7.2。二、安裝軟體依賴
1、jdk 1.8 安裝後設置環境變數(Path中加入java路徑;JAVA_HOME,指向jdk目錄)。 2、Ant 1.9.7 將檔案解壓到C:\ant目錄下,設定環境變數(Path中加入ant路徑)。 3、Maven 3.3.9 將檔案解壓到C:\maven目錄下,設定環境變數(Path中加入mvn路徑)。 4、Protocol Buffers 2.5.0 5、CMake 3.2.1三、編譯
1、將Hadoop原始碼放在C:\build\目錄下 2、更改VC++編譯設定 用Visual Studio 2015分別開啟C:\build\hadoop-common-project\hadoop-common\src\main\native\winutils.sln和C:\build\hadoop-common-project\hadoop-common\src\main\native\native.sln,升級VC++編譯器和庫。 更改C:\build\hadoop-hdfs-project\hadoop-hdfs\pom.xml檔案中第446行內容,將兩個“Visual Studio 10”改成“Visual Studio 14”。 3、Maven編譯mvn clean package -Pdist,native-win -DskipTests -Dtar -Dmaven.javadoc.skip=true -e
編譯的結果在C:\build\hadoop-dist\target\hadoop-2.7.2目錄下。四、啟動叢集
使用上面的編譯結果可以在Windows作業系統上啟動一個偽分散式叢集,從而可以測試MapReduce程式。但需要安裝Cygwin,並設定環境變數(Path中加入cygwin64\bin的全路徑)。 編譯後,將C:\build\hadoop-dist\target\hadoop-2.7.2目錄下的內容複製到目標工作目錄下,修改相關配置(具體修改方式可在網上查詢),然後用如下命令啟動叢集hdfs namenode -format start-dfs.cmd start-yarn.cmd
【注】首次編譯請嚴格遵守上面所提各依賴軟體的版本。