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 <ha...@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.hal...@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 <ha...@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.hal...@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