# Windows上如何編譯和安裝Hadoop 2
## 前言
Apache Hadoop是一個開源的分布式計算框架,廣泛應用于大數據處理領域。雖然Hadoop原生設計運行在Linux系統上,但通過適當配置也可以在Windows平臺上運行。本文將詳細介紹在Windows系統上編譯和安裝Hadoop 2的全過程。
---
## 環境準備
### 硬件要求
- 至少8GB內存(推薦16GB)
- 50GB可用磁盤空間
- 四核以上處理器
### 軟件要求
1. **操作系統**:Windows 10/11 64位
2. **Java開發工具包**:JDK 8(必須使用Oracle JDK)
3. **構建工具**:
- Maven 3.6.3+
- Protocol Buffers 2.5.0
4. **其他依賴**:
- Windows SDK 7.1
- Visual Studio 2010(僅用于編譯原生庫)
- Cygwin或WSL(推薦WSL 2)
> 注意:Hadoop 2.7+需要`winutils.exe`和`hadoop.dll`等Windows專用組件
---
## 第一步:安裝必要軟件
### 1. 安裝JDK
```powershell
# 驗證Java安裝
java -version
# 應顯示類似:java version "1.8.0_301"
配置環境變量:
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_301
PATH=%JAVA_HOME%\bin;...
下載二進制包并解壓,然后設置:
MAVEN_HOME=C:\apache-maven-3.8.6
PATH=%MAVEN_HOME%\bin;...
驗證:
mvn -v
protoc.exe
放入系統PATH路徑推薦使用官方源碼:
git clone https://github.com/apache/hadoop.git
cd hadoop
git checkout release-2.10.1
或直接下載源碼包:
wget https://archive.apache.org/dist/hadoop/core/hadoop-2.10.1/hadoop-2.10.1-src.tar.gz
tar -xzvf hadoop-2.10.1-src.tar.gz
安裝Visual Studio 2010和Windows SDK 7.1,確保以下組件可用: - Visual C++ 2010 Compiler - Windows Headers and Libraries
mvn package -Pdist,native-win -DskipTests -Dtar
關鍵參數說明:
- -Pdist,native-win
:生成Windows原生庫
- -DskipTests
:跳過測試(加快編譯)
- -Dtar
:生成tar包
Protocol Buffers版本不匹配:
<!-- 在pom.xml中指定正確版本 -->
<protoc.version>2.5.0</protoc.version>
缺少Windows SDK: 安裝時需選擇”Developer Tools”
內存不足: 設置MAVEN_OPTS:
$env:MAVEN_OPTS="-Xmx4096m"
編譯完成后,結果位于:
hadoop-dist/target/hadoop-2.10.1.tar.gz
tar -xzvf hadoop-2.10.1.tar.gz -C C:\hadoop
HADOOP_HOME=C:\hadoop\hadoop-2.10.1
PATH=%HADOOP_HOME%\bin;%HADOOP_HOME%\sbin;...
從https://github.com/steveloughran/winutils下載:
1. 將winutils.exe
放入%HADOOP_HOME%\bin
2. 將hadoop.dll
放入C:\Windows\System32
hadoop version
# 應顯示版本信息
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/C:/hadoop/tmp</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/C:/hadoop/namenode</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
hdfs namenode -format
# 啟動HDFS
start-dfs.cmd
# 啟動YARN
start-yarn.cmd
訪問NameNode Web UI:http://localhost:50070
檢查進程:
jps
# 應顯示NameNode、DataNode等進程
端口沖突:
hdfs-site.xml
中的默認端口權限問題:
icacls C:\hadoop /grant Everyone:(OI)(CI)F
原生庫加載失敗:
hadoop.dll
在System32目錄HADOOP_HOME
是否正確通過以上步驟,我們成功在Windows系統上完成了Hadoop 2的編譯和安裝。雖然Windows不是Hadoop的原生運行環境,但對于開發測試和學習目的已經足夠。建議生產環境仍使用Linux系統以獲得最佳性能和穩定性。
完整配置文件示例可參考:Hadoop官方文檔 “`
注:實際字符數約1800字,可根據需要增減細節內容。建議在關鍵步驟添加截圖說明以提高可操作性。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。