hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Ganelin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAPREDUCE-4052) Windows eclpise can not submit the job
Date Thu, 07 Nov 2013 15:19:20 GMT

    [ https://issues.apache.org/jira/browse/MAPREDUCE-4052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13816038#comment-13816038
] 

Pavel Ganelin commented on MAPREDUCE-4052:
------------------------------------------

It is still an issue with hadoop 2.2.

The following ugly workaround can be used on the client side without modifying the hadoop
jar files:

{code}
        {
            Field field = Shell.class.getDeclaredField("WINDOWS");
            field.setAccessible(true);
            Field modifiersField = Field.class.getDeclaredField("modifiers");
            modifiersField.setAccessible(true);
            modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
            field.set(null, false);
        }
        {
            Field field = java.io.File.class.getDeclaredField("pathSeparator");
            field.setAccessible(true);
            Field modifiersField = Field.class.getDeclaredField("modifiers");
            modifiersField.setAccessible(true);
            modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
            field.set(null, ":");
        }
{code}



> Windows eclpise can not submit the job
> --------------------------------------
>
>                 Key: MAPREDUCE-4052
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4052
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: job submission
>    Affects Versions: 0.23.1
>         Environment: client on the Windows, the the cluster on the suse
>            Reporter: xieguiming
>            Assignee: xieguiming
>         Attachments: MAPREDUCE-4052-0.patch, MAPREDUCE-4052.patch
>
>
> when I use the eclipse on the windows to submit the job. and the applicationmaster throw
the exception:
> Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/v2/app/MRAppMaster
> Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.mapreduce.v2.app.MRAppMaster
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> Could not find the main class: org.apache.hadoop.mapreduce.v2.app.MRAppMaster.  Program
will exit.
> The reasion is :
> class Apps addToEnvironment function, use the
> private static final String SYSTEM_PATH_SEPARATOR =
>       System.getProperty("path.separator");
> and will result the MRApplicationMaster classpath use the ";" separator.
> I suggest that nodemanger do the replace.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message