私は、Hadoopの初心者向けガイドブックをチュートリアルとして使用しているHadoopの初心者です。
Mac osx10.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/bin:/ usr/share/grails/bin:/ usr/share/groovy/bin:/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/local/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;
^
親切に助けてください。
CLASSPATH変数は、JDKツール(javac)を含むアプリケーションにユーザークラスを探す場所を指示する方法です。
この変数を以下のように設定して、クラスをコンパイルしてみてください。
export CLASSPATH=$CLASSPATH:/Users/oladotunopasina/hadoop-1.2.1/hadoop-core-1.2.1.jar
Maven、Gradle、sbtなどのビルドツールを使用している場合。
依存関係プラグインをビルドファイルに追加する必要があります。
Mavenの場合、たとえば、pom.xmlに以下を追加する必要があります。
<dependency>
<groupId>org.Apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.2.1</version>
</dependency>
他のビルドツールの依存関係の設定を見つけることができます ここ