A homebrew user!

You can rely on the hadoop script to generate a usable runtime and
compile time classpath for you. So just do it as below (assuming
'hadoop' as a command is on your $PATH already):

$ javac -cp $(hadoop classpath) -d myClasses WordCount.java

On Thu, May 29, 2014 at 12:43 AM, Zhige Xin <xinzhi...@gmail.com> wrote:
> Hi deal all,
>
> I tried to compile my own WordCount.java using the following command:
>
> javac -classpath
> /usr/local/Cellar/hadoop/2.2.0/libexec/share/hadoop/common/hadoop-common-2.2.0:/usr/local/Cellar/hadoop/2.2.0/libexec/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.2.0.jar:/usr/local/Cellar/hadoop/2.2.0/libexec/share/hadoop/common/lib/commons-cli-1.2.jar
> -d myClasses WordCount.java
>
> but got some errors as follows:
>
> WordCount.java:1: error: package org.apache.hadoop.conf does not exist
>
> import org.apache.hadoop.conf.Configuration;
>
>                              ^
>
> WordCount.java:2: error: package org.apache.hadoop.fs does not exist
>
> import org.apache.hadoop.fs.Path;
>
>                            ^
>
> WordCount.java:3: error: package org.apache.hadoop.io does not exist
>
> import org.apache.hadoop.io.Text;
>
>                            ^
>
> WordCount.java:11: error: cannot find symbol
>
>         Configuration configuration = new Configuration();
>
>         ^
>
>   symbol:   class Configuration
>
>   location: class WordCount
>
> WordCount.java:11: error: cannot find symbol
>
>         Configuration configuration = new Configuration();
>
>                                           ^
>
>   symbol:   class Configuration
>
>   location: class WordCount
>
> WordCount.java:14: error: cannot access Configuration
>
>         Job job = new Job(configuration, "Word Count");
>
>                   ^
>
>   class file for org.apache.hadoop.conf.Configuration not found
>
> WordCount.java:16: error: cannot find symbol
>
>         job.setMapperClass(Map.class);
>
>                            ^
>
>   symbol:   class Map
>
>   location: class WordCount
>
> WordCount.java:17: error: cannot find symbol
>
>         job.setReducerClass(Reduce.class);
>
>                             ^
>
>   symbol:   class Reduce
>
>   location: class WordCount
>
> WordCount.java:18: error: cannot find symbol
>
>         job.setOutputKeyClass(Text.class);
>
>                               ^
>
>   symbol:   class Text
>
>   location: class WordCount
>
> WordCount.java:19: error: cannot find symbol
>
>         job.setOutputValueClass(Text.class);
>
>                                 ^
>
>   symbol:   class Text
>
>   location: class WordCount
>
> WordCount.java:22: error: cannot find symbol
>
>         FileInputFormat.addInputPath(job, new Path(args[0]));
>
>                                               ^
>
>   symbol:   class Path
>
>   location: class WordCount
>
> WordCount.java:23: error: cannot find symbol
>
>         FileOutputFormat.setOutputPath(job, new Path(args[1]));
>
>                                                 ^
>
>   symbol:   class Path
>
>   location: class WordCount
>
> Note: WordCount.java uses or overrides a deprecated API.
>
> Note: Recompile with -Xlint:deprecation for details.
>
> 12 errors
>
>
> I do not why because I checked this post
>
> http://ac31004.blogspot.com/2013/11/hadoop-2x-jar-file-location-for.html
>
> and added the jars (hadoop-common-2.2.0,
> hadoop-mapreduce-client-core-2.2.0.jar and commons-cli-1.2.jar) into my
> classpath but it still does not work.
>
> Thanks!
>
>
>
> Best,
>
> Isaiah



-- 
Harsh J

Reply via email to