我是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;
^
请帮助。
答案 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
的依赖关系设置