设置classpath后,包org.apache.hadoop.conf不存在

时间:2014-06-24 15:22:52

标签: java hadoop javac word-count hadoop-plugins

我是hadoop的初学者,使用hadoop的初学者指南作为教程。

我正在使用mac osx 10.9.2和hadoop版本1.2.1

当我在终端中调用echo $ PATH时,我设置了所有适当的类路径:

以下是我得到的结果:

  

/Library/Frameworks/Python.framework/Versions/2.7/bin:/Users/oladotunopasina/hadoop-1.2.1/hadoop-core-1.2.1.jar:/Users/oladotunopasina/hadoop-1.2.1/斌:在/ usr /共享/ Grails的/ bin中:在/ usr /共享/常规/斌:/Users/oladotunopasina/.rvm/gems/ruby-2.1.1/bin:/Users/oladotunopasina/.rvm/gems/ruby- 2.1.1@global/bin:/Users/oladotunopasina/.rvm/rubies/ruby-2.1.1/bin:在/ usr /本地/ Heroku的/ bin中:在/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录:在/ usr / local / bin中:/Users/oladotunopasina/.rvm/bin:/Users/oladotunopasina/.rvm/bin

我尝试编译WordCount1.java并收到以下错误:

WordCount1.java:2: package org.apache.hadoop.conf does not exist
import org.apache.hadoop.conf.Configuration ;
                         ^
WordCount1.java:3: package org.apache.hadoop.fs does not exist
import org.apache.hadoop.fs.Path;
                       ^
WordCount1.java:4: package org.apache.hadoop.io does not exist
import org.apache.hadoop.io.IntWritable;
                       ^
WordCount1.java:5: package org.apache.hadoop.io does not exist
import org.apache.hadoop.io.Text;
                       ^
WordCount1.java:6: package org.apache.hadoop.mapreduce does not exist
import org.apache.hadoop.mapreduce.Job;
                              ^
WordCount1.java:7: package org.apache.hadoop.mapreduce does not exist
import org.apache.hadoop.mapreduce.Mapper;
                              ^

请帮助。

2 个答案:

答案 0 :(得分:9)

CLASSPATH变量是告诉应用程序的方法,包括JDK工具(javac),在哪里查找用户类。

您可以将此变量设置为如下所示,并尝试编译该类。

export CLASSPATH=$CLASSPATH:/Users/oladotunopasina/hadoop-1.2.1/hadoop-core-1.2.1.jar

答案 1 :(得分:1)

如果您使用的是Maven,Gradle,sbt等构建工具

您必须将依赖项插件添加到构建文件中。

对于Maven,每个示例,您必须将以下内容添加到您的pom.xml

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-core</artifactId>
    <version>1.2.1</version>
</dependency>

您可以找到其他构建工具here

的依赖关系设置