Pramit
Pramit

Reputation: 1411

Not able to run the java example of WordCount-Compiler issue

Mentioned below is the error that i am getting when trying to execute the java version of the WordCout. I was able to compile the same successfully but i am not able to figure out why it is cribbing now. i tried all combinations of the library path, thinking some dependency issue, but still stuck. Any help would be appreciated.

root@ubuntu:/opt/hadoop# java -cp lib/commons-cli-1.2.jar:hadoop-core-1.0.0.jar . /src/examples/org/apache/hadoop/examples/WordCount
Exception in thread "main" java.lang.NoClassDefFoundError: /
Caused by: java.lang.ClassNotFoundException: .
    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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: .. Program will exit.
root@ubuntu:/opt/hadoop#.

Upvotes: 0

Views: 1678

Answers (4)

Matt D
Matt D

Reputation: 3095

Because the WordCount example is meant to launch a MapReduce job, it's intended to be run with the following:

bin/hadoop jar hadoop-*-examples.jar wordcount [-m <#maps>] [-r <#reducers>] <in-dir> <out-dir>

This will set up the classpath for you.

See http://wiki.apache.org/hadoop/WordCount

Upvotes: 0

Sandeep
Sandeep

Reputation: 546

Try it removing "." in your command.

Upvotes: 0

sparc_spread
sparc_spread

Reputation: 10833

When you run a Java program, you need to specify the actual class you are executing. What you have so far is this:

java -cp lib/commons-cli-1.2.jar:hadoop-core-1.0.0.jar .

All this is saying is that these two JARs should be in the CLASSPATH, and that you are trying to run some class called "." There is of course no such class named "." The . should be the name of the class you are trying to run, not a . . That class should have a main() method inside of it.

Upvotes: 1

Miserable Variable
Miserable Variable

Reputation: 28752

Hint:

Caused by: java.lang.ClassNotFoundException: .

java is trying to tell you that it cannot find the class named .

Upvotes: 1

Related Questions