主要描述下,在Win7环境下,通过eclipse往集群提交MapReduce程序的过程。
一、环境说明:
开发环境:WIN7
Eclipse版本:eclipse-jee-indigo
Hadoop版本:Hadoop2.5.2
MR运行模式:Yarn
二、使用MapReduce的Eclipse插件:
插件名称:hadoop-eclipse-plugin-2.5.2.jar
可以网上下载,本文档附件中也有上传。
将插件复制到${ECLIPSE_HOME}/plugins/目录下。
三、运行简单的MR(如:Wordcount)程序,碰到下面问题:
1、运行测试程序时,会出现以下报错:
ExitCodeException exitCode=1:
at org.apache.hadoop.util.Shell.runCommand(Shell.java:538)
at org.apache.hadoop.util.Shell.run(Shell.java:455)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:702)
at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:300)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Container exited with a non-zero exit code 1
解决方法:
需要在yarn-site.xml上,配置以下内容:
<property>
<name>mapreduce.job.ubertask.enable</name>
<value>true</value>
</property>
当在WIN7下用Eclipse提交MR程序时,如果还报这样的错误,需要在客户端代码增加如下配置:
conf.set("mapreduce.job.ubertask.enable","true");
2、运行测试程序时,会出现以下报错:
ExitCodeException exitCode=1: /bin/bash: line 0: fg: no job control
at org.apache.hadoop.util.Shell.runCommand(Shell.java:538)
at org.apache.hadoop.util.Shell.run(Shell.java:455)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:702)
at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:300)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Container exited with a non-zero exit code 1
.Failing this attempt.. Failing the application.
解决方法:
conf.set("mapreduce.app-submission.cross-platform", "true");
或:
conf.setBoolean("mapreduce.app-submission.cross-platform", true);
3、正常情况下,在Win7下通过Eclipse向集群提交运行程序时,MapReduce的Main方法需要增加以下配置项:
conf.set("fs.default.name", "hdfs://xxx.xxx.xxx.xxx:8020");
conf.set("yarn.resourcemanager.address", "xxx.xxx.xxx.xxx:8032");
conf.set("yarn.resourcemanager.scheduler.address", "xxx.xxx.xxx.xxx:8030");
conf.set("mapreduce.jobhistory.address", "xxx.xxx.xxx.xxx:10020");
conf.set("mapreduce.framework.name", "yarn");
conf.setBoolean("mapreduce.app-submission.cross-platform", true);
conf.setBoolean("mapreduce.job.ubertask.enable", true);
相关推荐
在Windows7 x64 + Eclipse + Hadoop 2.5.2搭建MapReduce开发环境,下载的文件中包括下载的文件包括:hadoop 2.5.2.tar.gz,hadoop-common-2.2.0-bin-master.zip,hadoop-eclipse-plugin-2.5.2.jar。应用这些软件的...
总结来说,"eclipse开发hadoop2.5.2所用到的jar"指的是在Eclipse中开发Hadoop应用时,需要导入的一系列JAR文件,包括Hadoop的核心组件、依赖库和其他辅助工具,以支持Hadoop MapReduce的编程和调试。这些JAR文件确保...
### hadoop2.5.2在Windows下的Eclipse环境搭建详解 #### 一、Hadoop简介 Hadoop是由Apache基金会所开发的一个开源分布式计算框架,主要用于处理和存储大规模数据集。它通过分布式文件系统(HDFS)和MapReduce编程...
4. **Job提交**:开发者可以直接在Eclipse中提交MapReduce作业到Hadoop集群,无需离开开发环境。 **版本差异:** 1. **2.5.2**:这个版本的Hadoop-Eclipse插件适用于Hadoop 2.5.2。在这个版本中,Hadoop已经开始向...
8. **测试与运行**:使用插件,可以直接在Eclipse中提交MapReduce作业到Hadoop集群进行测试和运行。在项目上右键点击,选择"Hadoop" -> "Run on Cluster"。 9. **调试与优化**:Hadoop Eclipse plugin还提供了调试...
Hadoop Eclipse Plugin允许开发者在Eclipse IDE中直接操作Hadoop集群,如创建Hadoop项目、部署MapReduce作业、查看作业执行状态等。这极大地简化了Hadoop应用的开发流程,提高了开发效率。 3. **不同版本的区别** ...
8. **Eclipse集成开发环境**:可能使用Eclipse进行Hadoop程序的开发和调试,这需要熟悉Eclipse的项目配置和Hadoop相关的插件。 实验报告撰写需注意以下几点: - 报告应该清晰、整洁,语言表达准确。 - 数据和程序...
一旦配置完成,就可以通过Plugin创建新的Hadoop项目,编写MapReduce程序,然后直接在Eclipse内进行调试和测试。这极大地提高了开发效率,减少了开发过程中的出错概率。 总的来说,Hadoop Eclipse Plugin是Hadoop...
搭建Windows 32位环境下Eclipse远程...通过上述步骤,可以在Windows 32位环境下成功搭建一个远程Hadoop开发环境,使用Eclipse进行Hadoop程序的编写、调试与运行。这样的环境搭建对于学习和开发Hadoop应用是至关重要的。
- 下载`Hadoop-eclipse-Plugin-2.5.2.jar`插件,并将其放置在MyEclipse安装目录下的`plugins`文件夹内。 - 重启MyEclipse后,在“Project Explorer”窗口中可以看到新增的“DFS Locations”项,表明插件已成功加载...
5. 使用Hadoop命令或者Eclipse插件提交任务到Hadoop集群执行。 6. 分析并解析输出结果,获取每个买家的收藏商品数量。 实验完成后,可以通过检查输出结果文件来验证统计是否正确。输出结果应该是一系列的键值对,...