Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
MapReduce >> mail # user >> Trouble in running MapReduce application


Copy link to this message
-
Re: Trouble in running MapReduce application
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 <[EMAIL PROTECTED]> 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
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB