Ubuntu – Not a valid JAR when running HADOOP example

14.04hadoopjar

I have installed hadoop-2.4.0 in my 14.04 LTS,

I have followed this link, I have done upto start and stop services successfully,

but when I tried to execute example,

$ /bin/hadoop jar hadoop*examples*.jar wordcount /user/hduser/gutenberg /user/hduser/gutenberg-output

and I am getting response as,

Not a valid JAR: /hadoop*examples*.jar

EDIT 1

I have installed JAVA 7(i.e JDK 1.7) and when I used Hadoop-1.0.3 it works fine.

Problem cause when I try to execute with Hadoop-2.4.0.


NOTE

From this tutorial my system differ the following,

  1. I am using JAVA 7 instead of JAVA 6.
  2. I am using Hadoop 2.4.0 instead of Hadoop-1.0.3
  3. I am usinh Ubuntu 14.04 instead of Ubuntu 10.04.

And I can successfully execute HAdoop-1.0.3 with JAVA 7 on 14.04.

My question why can't I run the same for Hadoop-2.4.0.

Best Answer

I had the same problem. Here is the solution.

OS - Ubuntu 14.04 64-bit
Java - OpenJDK 7
Hadoop - Hadoop 2.4.1

Step 1: create a hdfs directory for input: hadoop dfs -mkdir -p /usr/local/hadoop/input

Step 2: now paste the jar file into this folder using hadoop command.

hadoop dfs -copyFromLocal /home/hduser/Desktop/sample.txt /usr/local/hadoop/input

Step 3: Go to $HADOOP_HOME/share/hadoop/mapreduce folder in terminal.

cd $HADOOP_HOME/share/hadoop/mapreduce

hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /usr/local/hadoop/input/sample.txt /usr/local/hadoop/output

Here /usr/local/hadoop/output folder will be created. Each time you have to give a new name.
NOTE: you cannot simply list the folders input and output using ls in terminal.

Step 4: To view the output, use this:

hadoop dfs -cat /usr/local/hadoop/output/part-r-00000

Related Question