eclipse如何运行map reduce作业?

jv4diomz  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(410)

我阅读了一篇文章,并设法在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文件来表示我们需要特定的配置(我使用的是hadoop2.2,甚至对于单节点配置,我也假设它需要对xml文件的xome进行一些修改)。
在上面的例子中,我没有更改任何xml文件来说明这一点。eclipse是如何只使用jar来解决这个问题的。
这个方法是否还依赖于除javahome或path之外的任何环境变量?(eclipse是否在我的机器中搜索任何hadoop安装)

d6kp6zgx

d6kp6zgx1#

正如您提到的,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、hdfs namenode中指定jobtracker节点和端口号(mapred.job.tracker)host:port in core-site.xml文件
从eclipse开始,执行将处于本地模式,没有守护进程运行(不会连接到任何守护进程),因此在提交作业时不需要配置任何xml文件

相关问题