2011-08-15 30 views
4

一些主要的重構因素正在圍繞MapReduce發生Hadoop。有關相同的細節可以在下面的JIRA中找到。新MapReduce架構和Eclipse

https://issues.apache.org/jira/browse/MAPREDUCE-279

它的ResourceManager,節點管理器和HistoryServer守護進程。有沒有人試過在Eclipse中運行它們?這將使開發和調試更容易。

我在Hadoop論壇發了一封郵件,沒有人嘗試過。只是想檢查是否有人在stackoverflow中做了類似的事情。

回答

0

我試着在我的主機上運行YARN(下一代mapreduce)好幾天。

首先,使用svn或git從apache.org獲取源代碼。採取svn的,例如:

svn co https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23.0 

然後,產生月食使用maven(你應該將這個步驟之前配置主機上manve3。)

mvn test -DskipTests 

mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true 

相關文件,現在你可以導入現有的Maven項目到Eclipse (你應該在Eclipse中首先配置Maven插件。)

在Eclipse:文件 - >導入現有Maven項目

Choose "Existing Projects into Workspace" 
Select the hadoop-mapreduce-project directory as the root directory 
Select the hadoop-mapreduce-project project 
Click "Finish" 

由於class_path/build_path沒有正確配置,並且沒有包含所有依賴包/類,所以我嘗試了很多次。嘗試「添加外部類文件夾」並選擇當前項目的構建目錄在項目屬性中,如果遇到與我相同的問題。


更新時間:2012-03-15

我現在可以在Eclipse中運行紗線(同Hadoop0.23)。

首先,你應該編譯/由exec命令成功打造紗:

mvn clean package -Pdist -Dtar -DskipTests 

對於我只關心如何,我在Linux終端運行我的一臺主機上HDFS調試紗的原因,不在日食。

bin/hdfs namenode -formate -clusterid your_hdfs_id 
sbin/hadoop-daemon.sh start namenode 
sbin/hadoop-daemon.sh start datanode 

然後,將hadoop 0.23導入eclipse並找到resourcemanager.java,接下來就是在eclipse中運行這個類。詳細步驟:

  • 點擊右鍵,然後選擇作爲應用程序運行
  • 增加新配置來運行這個類,在參數的一部分,與內容填寫:

    --config your_yarn_conf_dir(同作爲HDFS配置目錄)

  • 單擊運行按鈕,您會在eclipse控制檯中找到resourcemanager輸出。

在eclipse中運行Nodemanaer與運行Resourcemanager相同。添加新配置並使用「--config your_yarn_conf_dir」填充參數,然後按運行按鈕。

快樂編碼〜!

+0

我已經安裝在Eclipse中0.23的項目,我很感興趣,也開始調試在Eclipse的守護進程。 –

+0

對不起,我從來沒有在Eclipse中運行yarn守護進程,除了在控制檯中使用命令。我也想知道如何在eclipse中逐步調試紗線。我會盡量通過分析yarn-daemons.sh文件來獲取它。 @PraveenSripati – nourlcn

0

Nourl等待https://issues.apache.org/jira/browse/MAPREDUCE-3131完成。任何方式你可以檢查出版本並嘗試運行。

您將需要mvn site:site來生成一個文檔,其中包含所有文檔。爲了弄清楚如何?您可以打開腳本debug.sh並親自查看。

基本上我們傳遞了JAVA_OPTIONS並指定了eclipse遠程調試參數。對於子進程而言,這會變得棘手,因爲需要指定屬性mapred.child.java.opts

HTH

-P

+0

查詢是關於在Eclipse中運行(不是項目設置)YARN,你是否能夠做到這一點? –

+0

那麼,如果你更仔細地觀察。是!。我接受我的方法並不完全正確,但完全符合你的要求。檢查正確的修訂版並讓我知道你是否面臨麻煩。 – scrapcodes