【问题标题】:How does Eclipse run a map reduce job?Eclipse 如何运行 map reduce 作业?
【发布时间】:2014-03-19 08:30:07
【问题描述】:

我关注了一篇文章,并设法在eclipse中运行了一个mapreduce程序。

以下是 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 安装必要的 jar,当我将程序作为 java 应用程序运行时,输出按预期保存。

正如我所读,Hadoop 可以在 3 种模式下运行。

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

我假设 eclipse 在单节点配置中运行程序。

如果我们要单独安装hadoop,我们将不得不编辑一些xml文件来说明我们需要一个特定的配置(我使用的是Hadoop 2.2,即使对于单节点配置,我认为它需要在xml的xome中进行一些修改文件)。

在上面的例子中,我没有更改任何 xml 文件来说明。eclipse 是如何仅使用 jar 来解决的。

而且这种方法是否还依赖于除 JAVA_HOME 或 PATH 之外的任何环境变量吗?(Eclipse 是否会在我的机器中搜索任何 hadoop 安装)

【问题讨论】:

    标签: java xml eclipse maven 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 中的 taskters)。这通常用于 eclipse 的测试目的,但在伪分布式和分布式模式的情况下,应该运行 Mapreduce 守护进程。当您从任何客户端节点以伪/分布式模式运行 mapreduce 作业时,需要在 mapred-site.xml 中指定 jobtracker 节点和端口号(mapred.job.tracker),在核心站点中指定 HDFS namenode Host:port。 xml

    从 eclipse 开始,执行将在本地模式下,不会运行任何守护进程(不会连接到任何守护进程),因此在提交作业时无需配置任何 xml 文件

    【讨论】:

    • 如何在eclipse中以伪分布式模式运行hadoop程序?
    • 您不能直接在伪分布式模式下运行 hadoop 程序以进行调试。由于 mapper 和 reducer 作为单独的 JVM 运行,eclipse 无法为 Hadoop 处理。出于调试目的,您可以使用本地模式或编写 MR 单元测试用例等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多