首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Eclipse 與 IntelliJ IDEA 遠端除錯 Hadoop 2.6.0 完整配置指南

     編輯:Java 相關知識

前置條件與環境假設

  • Hadoop 叢集運行於遠端 Linux(虛擬機),版本 2.6.0
  • 本地 Windows 7 安裝 Eclipse / IntelliJ IDEA
  • 本地同版本 Hadoop 解壓供原生庫與配置參考

Eclipse 遠端除錯配置

1. 本地 Hadoop 環境準備

  1. 解壓 hadoop-2.6.0 至 D:\hadoop\hadoop-2.6.0 ($HADOOP_HOME)
  2. 環境變數:HADOOP_HOME、HADOOP_BIN_PATH、HADOOP_PREFIX、Path 追加 %HADOOP_HOME%\bin

2. 安裝 hadoop-eclipse-plugin

GitHub:https://github.com/winghc/hadoop2x-eclipse-plugin

  • 下載 release/hadoop-eclipse-plugin-2.6.0.jar
  • 複製至 eclipse/plugins/ 重啟

3. Windows 原生庫配置(64 位系統)

  • winutils.exe → $HADOOP_HOME\bin\
  • hadoop.dll → C:\Windows\System32\
  • 來源:Hadoop 源碼 hadoop-common-project/hadoop-common/src/main/winutils 編譯,或下載預編譯包

4. 插件連線配置

  1. Window → Preferences → Hadoop Map/Reduce → Hadoop Home: D:\hadoop\hadoop-2.6.0
  2. Window → Show View → Map/Reduce Locations → 新增 Location

5. 權限問題解決

遠端 hdfs-site.xml:

<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>

執行:

hadoop dfsadmin -safemode leave
hadoop fs -chmod 777 /

6. WordCount 專案建立與除錯

  1. New → Map/Reduce Project
  2. 加入標準 WordCount.java
  3. src/log4j.properties 配置控制台輸出
  4. Run Configurations → Arguments → Program arguments:
hdfs://192.168.1.100:9000/user/input/README.txt
hdfs://192.168.1.100:9000/user/output/
  • 輸入檔預先上傳 HDFS
  • 輸出目錄必須不存在
  • 設定斷點 → Debug As → Hadoop Application

IntelliJ IDEA 遠端除錯配置

1. Maven 專案建立

<dependencies>
  <dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-common</artifactId>
    <version>2.6.0</version>
  </dependency>
  <dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
    <version>2.6.0</version>
  </dependency>
  <dependency>
    <groupId>commons-cli</groupId>
    <artifactId>commons-cli</artifactId>
    <version>1.2</version>
  </dependency>
</dependencies>

2. 模組依賴配置

  1. File → Project Structure (Ctrl+Alt+Shift+S) → Modules → Dependencies
  2. + → JARs or directories → 選擇 $HADOOP_HOME 下所有 JAR
  3. 命名 Library:hadoop-2.6

3. 運行配置

  1. Run → Edit Configurations → + → Application
  2. Main class: WordCount
  3. Program arguments: 同 Eclipse
  4. Working directory: $HADOOP_HOME

4. 關鍵:core-site.xml 放入資源目錄

src/main/resources/core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.168.1.100:9000</value>
  </property>
</configuration>

讓 IDE 運行時能解析 HDFS 位址。

5. 輸出目錄自動清理改良

// WordCount main 方法開頭加入
Configuration conf = new Configuration();
String outputPath = otherArgs[otherArgs.length - 1];
FileSystem fs = FileSystem.get(conf);
Path outPath = new Path(outputPath);
if (fs.exists(outPath)) {
    fs.delete(outPath, true);
    System.out.println("已清理舊輸出目錄: " + outputPath);
}

兩 IDE 對比總結

參數值來源範例
Location name自訂RemoteCluster
Map/Reduce Master Hostyarn-site.xml → yarn.resourcemanager.address192.168.1.100:8032
DFS Master Portcore-site.xml → fs.defaultFS192.168.1.100:9000
User nameHadoop 運行用戶hadoop
功能EclipseIntelliJ IDEA
HDFS 瀏覽內建插件支援需外部工具或命令行
專案建立Map/Reduce Project 向導標準 Maven 專案
依賴管理手動加入 JARMaven 自動管理
配置複雜度較高(插件、原生庫)較低(標準化)
除錯體驗良好優秀
輸出目錄清理手動代碼控制

連線驗證指令

telnet 192.168.1.100 9000
# 或
hadoop fs -ls hdfs://192.168.1.100:9000/
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved