标签:
问题描述:在开发MR程序中会遇一些问题需要通过Debug调式,那么本文将介绍描述配置eclipse如何在Windows或者Linux下启动Debug调式。
MR程序的Debug调式换言之就是MR程序的运行模式,MR程序有三种运行模式:本地模式(local)、集群模式(cluster)
Linux环境下:
1、本地模式:直接通过eclipse右键进行Debug即可
2、集群模式:
2.1、将hadoop的配置文件:core-site.xml/hdfs-site.xml/mapreduce-site.xml/yarn.xml拷贝到工程的src目录下,这样eclipse就会通过集群进行提交
2.2、提交时需要将本工程的jar包打到给本工程的目录下
2.3、同时需要设置环境变量:conf.set("mapreduce.job.jar","wordcount.jar")
Windows环境下:
首先Windows真的不适合对MR程序进行调式,不仅出现版本不兼容问题,调式起来的出现的各种环境错误也令人费解
1、本地模式:
1.1、首先需要下载windows版本的hadoop程序,并且需要在PATH路径下指定HADOOP_HOME
1.2、现在可以直接通过eclipse右键DEBUG直接调式(由于本人没有成功在WINDOWS运行本地调式并且出现了如下异常:)
2015-06-03 00:52:10,649 WARN [main] util.NativeCodeLoader (NativeCodeLoader.java:<clinit>(62)) - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 2015-06-03 00:52:15,730 INFO [main] Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(1009)) - session.id is deprecated. Instead, use dfs.metrics.session-id 2015-06-03 00:52:15,730 INFO [main] jvm.JvmMetrics (JvmMetrics.java:init(76)) - Initializing JVM Metrics with processName=JobTracker, sessionId= Exception in thread "main" org.apache.hadoop.util.Shell$ExitCodeException: at org.apache.hadoop.util.Shell.runCommand(Shell.java:505) at org.apache.hadoop.util.Shell.run(Shell.java:418) at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650) at org.apache.hadoop.util.Shell.execCommand(Shell.java:739) at org.apache.hadoop.util.Shell.execCommand(Shell.java:722) at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:633) at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:421) at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:281) at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:125) at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:348) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1282) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556) at org.apache.hadoop.mapreduce.Job.submit(Job.java:1282) at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1303) at com.itheima.hadoop.runner.WordCountRunner.main(WordCountRunner.java:38)
2、集群模式
2.1、将hadoop的配置文件:core-site.xml/hdfs-site.xml/mapreduce-site.xml/yarn.xml拷贝到工程的src目录下
2.2、修改Hadoop源代码:YARNRunner.java文件,YARNRunner里面包含大量与Linux环境相关的配置,需要将器替换成Windows的环境配置,重新编译即可,这也是不建议在WINDOWS下调式的原因,因为修改起来非常麻烦
标签:
原文地址:http://my.oschina.net/u/2377453/blog/424104