hadoop-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:45:51 GMT
Oops. I just noticed Hemanth has been answering on a dupe thread as
well. Lets drop this thread and carry on there :)

On Tue, Feb 19, 2013 at 11:14 PM, Harsh J <harsh@cloudera.com> wrote:
> 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



--
Harsh J

Mime
View raw message