Hadoop 官方原生支持 Linux/Unix。Windows 下有兩種模式:
openssh, openssl, rsync, procps, cygrunsrv (將服務註冊為 Windows 服務)。# Cygwin 終端以管理員運行
ssh-host-config -y
# 按提示設置權限、服務名 (CYGWIN sshd)、啟動方式
cygrunsrv --start sshd
ssh-keygen -t rsa -P ""
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh localhost # 應無需密碼直接登錄
C:\cygwin64\bin 加入系統 PATH;設置 HADOOP_HOME、JAVA_HOME (JDK 1.8+)。hadoop-eclipse-plugin-x.x.x.jar 放入 eclipse/plugins 重啟)。Map/Reduce 透視圖:Window > Preferences > Hadoop 設置 Hadoop location 為 Cygwin 路徑 (如 /cygdrive/c/hadoop-3.3.4)。Hadoop Job 類型,主類設置正確,參數傳遞 -conf 指向 core-site.xml 等配置。| 錯誤現象 | 原因 | 解決 |
|---|---|---|
java.net.ConnectException: Connection refused | SSH 服務未啟動 / 端口 22 被佔用 | netstat -ano | findstr :22,殺佔用進程,重啟 cygrunsrv -E sshd |
Permission denied (publickey,password,keyboard-interactive) | 免密未生效 / authorized_keys 權限錯誤 | 重做 ssh-keygen 步驟,確保 chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys |
Cygwin warning: MS-DOS style path detected | 路徑混用 Windows/Cygwin 格式 | 統一使用 Cygwin 路徑 /cygdrive/c/...,Hadoop 配置文件亦同 |
sequenceiq/hadoop-docker 或自構建鏡像,容器化隔離環境,跨平台一致。Win7 + Cygwin + Hadoop 屬於「考古級」組合,教學/維護舊項目可用,新項目請直接擁抱 WSL 2 或容器化/雲原生開發模式。