文档章节

MR程序Debug调式或者运行模式

datapro
 datapro
发布于 2015/06/03 01:13
字数 596
阅读 837
收藏 4

问题描述:在开发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下调式的原因,因为修改起来非常麻烦


© 著作权归作者所有

datapro
粉丝 16
博文 37
码字总数 22063
作品 0
广州
高级程序员
私信 提问
jetty maven热部署配置该如何配置

我的项目在用jetty插件的时候 debug某个项目进行调式 期间我修改了项目中的一些代码,当再次运行该程序时,发现修改的代码并没有起作用,只有当重新debug模式run这个项目的时候才会起作用 于...

kong_resty
2012/07/18
14.7K
2
eclipse 开启运程代码调试

参考:http://blog.csdn.net/kongqz/article/details/3971263 Java Platform Debugger Architecture(JPDA:Java平台调试架构) 由Java虚拟机后端和调试平台前端组成   1.Java虚拟机提供了Jav...

Canaan_
2016/04/21
16
0
使用VSCode如何调试C#控制台程序_2_加深总结

原文:使用VSCode如何调试C#控制台程序2加深总结 要想使用调试,必须创建项目 1-你要调式的类,控制台类等等,你需要放在一个项目下,这个项目最好是由使用.net core创建的,VSCode对应的命令...

杰克.陈
2018/10/27
0
0
使用node-inspector 调式node.js

1.安装 node-inspector npm install node-inspector -g 2. 开启node-inspector 服务进程 node-inspector 默认开启8080 端口,通过 --web-port = 2222 来改变默认服务的端口号 命令行中会出现...

genkimaru
2016/08/13
34
0
初略讲解如何调试Flutter应用

一、Dart Analyzer(分析器) 在使用命令来运行应用程序之前,请运行命令来检测你的代码,这个命令是Dart Analyzer(分析器)的一个包装,它将分析你的代码并帮助你发现可能出现的错误。因为...

zane
07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

正则表达式匹配

请实现一个函数用来匹配包括 '.' 和 '*' 的正则表达式。模式中的字符 '.' 表示任意一个字符,而 '*' 表示它前面的字符可以出现任意次(包含 0 次)。 在本题中,匹配是指字符串的所有字符匹配...

Garphy
今天
7
0
Laravel 5.1的多路由文件的配置

默认的路由配置文件只有一个, \app\Http\routes.php。 在同一个文件中写路由容易起冲突,文件会越来越大,就需要定义多个路由文件。 找到加载\app\Http\routes.php的文件, 打开\app\Provid...

mdoo
今天
5
0
Hibernate 5 开始使用指南前言

同时在面向对象软件和关系型数据库进行工作,可能会非常复杂和费时。数据在对象和数据库之间可能会不一致,然后导致开发成本会非常高。 Hibernate 是一个针对 Java 环境的对象关系映射(Obj...

honeymoose
今天
6
0
聊聊nacos ServiceManager的UpdatedServiceProcessor

序 本文主要研究一下nacos ServiceManager的UpdatedServiceProcessor ServiceManager.init nacos-1.1.3/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceManager.java @Compone......

go4it
今天
7
0
正则表达式的使用(QQ格式的判断与空格的切割)

//正则表达式的使用 public static void main(String[] args) throws IOException, ClassNotFoundException { //test1("123456"); test2("-1 99 kk"); } /** * ......

zhengzhixiang
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部