Spring + Maven + Hadoop [英] Spring + Maven + Hadoop
问题描述
我在Spring + Maven + Hadoop环境中遇到问题。
我使用Apache Hadoop,但不使用SpringSource提供的spring-hadoop。
我在Java中使用hadoop添加了以下依赖Maven。
<依赖关系>
< groupId> org.apache.hadoop< / groupId>
< artifactId> hadoop-core< / artifactId>
< version> 0.20.2< / version>
<排除项>
<排除>
< groupId> org.mortbay.jetty< / groupId>
< artifactId> jetty< / artifactId>
< /排除>
<排除>
< groupId> org.mortbay.jetty< / groupId>
< artifactId> jetty-util< / artifactId>
< /排除>
<排除>
< groupId> org.mortbay.jetty< / groupId>
< artifactId> jsp-2.1< / artifactId>
< /排除>
<排除>
< groupId> org.mortbay.jetty< / groupId>
< artifactId> jsp-api-2.1< / artifactId>
< /排除>
<排除>
< groupId> org.mortbay.jetty< / groupId>
< artifactId> servlet-api-2.1< / artifactId>
< /排除>
<排除>
< groupId> javax.servlet< / groupId>
< artifactId> servlet-api< / artifactId>
< /排除>
<排除>
< groupId> javax.servlet.jsp< / groupId>
< artifactId> jsp-api< / artifactId>
< /排除>
<排除>
< groupId> tomcat< / groupId>
< artifactId> jasper-compiler< / artifactId>
< /排除>
<排除>
< groupId> tomcat< / groupId>
< artifactId> jasper-runtime< / artifactId>
< /排除>
< /排除>
< /依赖关系>
我执行了hadoop mapreduce工作。 MapReduce工作正常。
但是我无法从Hadoop Web UI中的正在运行的作业列表中看到执行的作业( $ b
我没有使用hadoop命令(ex-bin / hadoop -jar .... jar),但只是java应用程序。
这可能是原因吗?
Hadoop提供API在本地运行MR作业,而无需设置Hadoop集群。
如果您在Hadoop Web UI中看不到您的作业正在运行/完成 - 似乎您在本地运行MR作业。
远程运行 - 指定适当的就业跟踪主机,在你的情况下 http://xxx.xxx.xxx.xxx:9001
I have a problem in Spring + Maven + Hadoop enviroment. I am using Apache Hadoop, but don't use spring-hadoop that is provided from SpringSource. I added following dependency to Maven for using hadoop in java.
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>0.20.2</version>
<exclusions>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-2.1</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-api-2.1</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>servlet-api-2.1</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
</exclusion>
<exclusion>
<groupId>tomcat</groupId>
<artifactId>jasper-compiler</artifactId>
</exclusion>
<exclusion>
<groupId>tomcat</groupId>
<artifactId>jasper-runtime</artifactId>
</exclusion>
</exclusions>
</dependency>
And I executed hadoop mapreduce job. Mapreduce job works well.
But I can't see executed jobs from "Running Jobs" List in Hadoop Web UI (http://xxx.xxx.xxx.xxx:50030/jobtracker.jsp)
I started without hadoop command(ex-bin/hadoop -jar ....jar ), but just java application. Could this be the reason?
Hadoop provides API to run MR jobs locally, without setting up Hadoop cluster. If you don't see your job running/completed in Hadoop web UI - it seems that you run MR job locally.
To run remotely - specify appropriate job tracker host, in your case http://xxx.xxx.xxx.xxx:9001
这篇关于Spring + Maven + Hadoop的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!