hadoop-common-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Harsh J <ha...@cloudera.com>
Subject Re: Trouble in running MapReduce application
Date Tue, 19 Feb 2013 17:44:48 GMT
Hi,

The new error usually happens if you compile using Java 7 and try to
run via Java 6 (for example). That is, an incompatibility in the
runtimes for the binary artifact produced.

On Tue, Feb 19, 2013 at 10:09 PM, Fatih Haltas <fatih.haltas@nyu.edu> wrote:
> Thank you very much Harsh,
>
> Now, as I promised earlier I am much obliged to you.
>
> But, now I solved that problem by just changing the directories then again
> creating a jar file of org. but I am getting this error:
>
> 1.) What I got
> ------------------------------------------------------------------------------
> [hadoop@ADUAE042-LAP-V flowclasses_18_02]$ hadoop jar flow19028pm.jar
> org.myorg.MapReduce /home/hadoop/project/hadoop-data/NetFlow 19_02.out
> Warning: $HADOOP_HOME is deprecated.
>
> Exception in thread "main" java.lang.UnsupportedClassVersionError:
> org/myorg/MapReduce : Unsupported major.minor version 51.0
>         at java.lang.ClassLoader.defineClass1(Native Method)
>         at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
>         at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>         at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
>         at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:266)
>         at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
>
> 2.) How I create my jar
> -------------------------------------------------------------------------------------
> [hadoop@ADUAE042-LAP-V flowclasses_18_02]$ jar cvf flow19028pm.jar org
> added manifest
> adding: org/(in = 0) (out= 0)(stored 0%)
> adding: org/myorg/(in = 0) (out= 0)(stored 0%)
> adding: org/myorg/MapReduce$FlowPortReducer.class(in = 1661) (out=
> 690)(deflated 58%)
> adding: org/myorg/MapReduce.class(in = 1587) (out= 903)(deflated 43%)
> adding: org/myorg/MapReduce$FlowPortMapper.class(in = 1874) (out=
> 823)(deflated 56%)
>
> 3.) Content of my jar file
> ---------------------------------------------------------------------------------------
> [hadoop@ADUAE042-LAP-V flowclasses_18_02]$ jar tf flow19028pm.jar
> META-INF/
> META-INF/MANIFEST.MF
> org/
> org/myorg/
> org/myorg/MapReduce$FlowPortReducer.class
> org/myorg/MapReduce.class
> org/myorg/MapReduce$FlowPortMapper.class
> -----------------------------------------------------------------------------------------
>
>
> Thank you very much.
>
>
> On Tue, Feb 19, 2013 at 8:20 PM, Harsh J <harsh@cloudera.com> wrote:
>>
>> Your point (4) explains the problem. The jar packed structure should
>> look like the below, and not how it is presently (one extra top level
>> dir is present):
>>
>> META-INF/
>> META-INF/MANIFEST.MF
>> org/
>> org/myorg/
>> org/myorg/WordCount.class
>> org/myorg/WordCount$TokenizerMapper.class
>> org/myorg/WordCount$IntSumReducer.class
>>
>> On Tue, Feb 19, 2013 at 9:29 PM, Fatih Haltas <fatih.haltas@nyu.edu>
>> wrote:
>> > Hi everyone,
>> >
>> > I know this is the common mistake to not specify the class adress while
>> > trying to run a jar, however,
>> > although I specified, I am still getting the ClassNotFound exception.
>> >
>> > What may be the reason for it? I have been struggling for this problem
>> > more
>> > than a 2 days.
>> > I just wrote different MapReduce application for some anlaysis. I got
>> > this
>> > problem.
>> >
>> > To check, is there something wrong with my system, i tried to run
>> > WordCount
>> > example.
>> > When I just run hadoop-examples wordcount, it is working fine.
>> >
>> > But when I add just "package org.myorg;" command at the beginning, it
>> > doesnot work.
>> >
>> > Here is what I have done so far
>> >
>> > *************************************************************************
>> > 1. I just copied wordcount code from the apaches own examples source
>> > code
>> > and I just changed package decleration as "package org.myorg;"
>> >
>> > **************************************************************************
>> > 2. Then I tried to run that command:
>> >
>> > *************************************************************************
>> > "hadoop jar wordcount_19_02.jar org.myorg.WordCount
>> > /home/hadoop/project/hadoop-data/NetFlow 19_02_wordcount.output"
>> >
>> > *************************************************************************
>> > 3. I got following error:
>> >
>> > **************************************************************************
>> > [hadoop@ADUAE042-LAP-V project]$ hadoop jar wordcount_19_02.jar
>> > org.myorg.WordCount /home/hadoop/project/hadoop-data/NetFlow
>> > 19_02_wordcount.output
>> > Warning: $HADOOP_HOME is deprecated.
>> >
>> > Exception in thread "main" java.lang.ClassNotFoundException:
>> > org.myorg.WordCount
>> >         at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
>> >         at java.security.AccessController.doPrivileged(Native Method)
>> >         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
>> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
>> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
>> >         at java.lang.Class.forName0(Native Method)
>> >         at java.lang.Class.forName(Class.java:266)
>> >         at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
>> >
>> >
>> > **************************************************************************
>> > 4. This is the content of my .jar file:
>> > ****************************************************
>> > [hadoop@ADUAE042-LAP-V project]$ jar tf wordcount_19_02.jar
>> > META-INF/
>> > META-INF/MANIFEST.MF
>> > wordcount_classes/
>> > wordcount_classes/org/
>> > wordcount_classes/org/myorg/
>> > wordcount_classes/org/myorg/WordCount.class
>> > wordcount_classes/org/myorg/WordCount$TokenizerMapper.class
>> > wordcount_classes/org/myorg/WordCount$IntSumReducer.class
>> > **********************************************************
>> > 5. This is the 'ls' output of my working directory:
>> > **********************************************************
>> > [hadoop@ADUAE042-LAP-V project]$ ls
>> > flowclasses_18_02  flowclasses_18_02.jar  hadoop-1.0.4
>> > hadoop-1.0.4.tar.gz
>> > hadoop-data  MapReduce.java  sample  wordcount_19_02.jar
>> > wordcount_classes
>> > WordCountClasses  WordCount.java
>> > *************************************************************
>> > So as you see, package decleration is fine but I am really helpless, I
>> > googled but they are all saying samething you should specify the package
>> > hierarchy of your main class. I did know it already I am specifying but
>> > doesn't work.
>> >
>> > I would be much obliged to anyone helped me
>> >
>> > Regards,
>>
>>
>>
>> --
>> Harsh J
>
>



--
Harsh J

Mime
View raw message