2014-03-19 32 views
1

我跟着一篇文章,並設法在eclipse中運行mapreduce程序。Eclipse如何運行地圖縮減作業?

下面是pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 



    <groupId>virtusa</groupId> 
    <artifactId>fazlan</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>fazlan</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 

    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 


    <dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-client</artifactId> 
    <version>2.2.0</version> 
    </dependency> 

    </dependencies> 
</project> 

Maven的安裝必要的罐子,當我運行該程序作爲一個Java應用程序,如預期的輸出被保存。

正如我讀過的Hadoop可以在3種模式下運行。

1)Single node 
2)psuedo-distributed mode 
3)distributed mode 

我假設eclipse在單節點配置中運行程序。

如果我們要單獨安裝hadoop,我們將不得不編輯一些xml文件來說我們需要特定的配置(我正在使用Hadoop 2.2,甚至對於單節點配置,我認爲它需要對xome xml文件)。

在上面的例子中,我沒有改變任何XML文件來說這個。月蝕是怎麼算出來的只有罐子。

而且也沒有這種方法依賴於除JAVA_HOME或PATH變量以外的任何環境?(在我的機器不能Eclipse中搜索任何Hadoop的安裝)

回答

1

至於你提到的Hadoop可以通過3種方式

Local mode (Only for test purpose no mapreduce daemons needed) 
Pseudo distributed mode(1 node cluster) 
Distributed mode(Multinode cluster) 
運行

在本地模式下,不需要運行任何hadoop守護進程(jobtracker,mr1中的任務)。這通常用於eclipse的測試目的。但是在僞分佈式和分佈式模式的情況下,應該運行Mapreduce守護進程。從任何客戶端節點以僞/分佈模式運行mapreduce作業時,必須在mapred-site.xml,core-site中的HDFS namenode Host:port中指定jobtracker節點和端口號(mapred.job.tracker)。 XML

Eclipse中的執行將在本地模式,沒有後臺程序將運行(不會連接到任何守護進程),這樣就不需要配置任何XML文件在提交作業

+0

如何運行一個Hadoop在eclipse中以僞分佈模式編程? – DesirePRG

+1

您不能直接在僞分佈式模式下運行hadoop程序進行調試。由於映射器和reducer作爲單獨的JVM運行,因此eclipse無法處理Hadoop。爲了調試pupose,您可以使用本地模式或寫MR單元測試用具等。 – sachin

相關問題