MR程序Debug調式或者運行模式

問題描述:在開發MR程序中會遇一些問題須要經過Debug調式,那麼本文將介紹描述配置eclipse如何在Windows或者Linux下啓動Debug調式。java

    MR程序的Debug調式換言之就是MR程序的運行模式,MR程序有三種運行模式:本地模式(local)、集羣模式(cluster)apache

    Linux環境下:
windows

    一、本地模式:直接經過eclipse右鍵進行Debug便可session

    二、集羣模式:app

        2.一、將hadoop的配置文件:core-site.xml/hdfs-site.xml/mapreduce-site.xml/yarn.xml拷貝到工程的src目錄下,這樣eclipse就會經過集羣進行提交eclipse

        2.二、提交時須要將本工程的jar包打到給本工程的目錄下jvm

        2.三、同時須要設置環境變量:conf.set("mapreduce.job.jar","wordcount.jar")oop


    Windows環境下:ui

    首先Windows真的不適合對MR程序進行調式,不只出現版本不兼容問題,調式起來的出現的各類環境錯誤也使人費解code

    一、本地模式:   

        1.一、首先須要下載windows版本的hadoop程序,而且須要在PATH路徑下指定HADOOP_HOME

        1.二、如今能夠直接經過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.一、將hadoop的配置文件:core-site.xml/hdfs-site.xml/mapreduce-site.xml/yarn.xml拷貝到工程的src目錄下

        2.二、修改Hadoop源代碼:YARNRunner.java文件,YARNRunner裏面包含大量與Linux環境相關的配置,須要將器替換成Windows的環境配置,從新編譯便可,這也是不建議在WINDOWS下調式的緣由,由於修改起來很是麻煩

相關文章
相關標籤/搜索