web-dev-qa-db-ja.com

クラスパスを設定した後、パッケージorg.Apache.hadoop.confが存在しません

私は、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;
                              ^

親切に助けてください。

8
user3287477

CLASSPATH変数は、JDKツール(javac)を含むアプリケーションにユーザークラスを探す場所を指示する方法です。

この変数を以下のように設定して、クラスをコンパイルしてみてください。

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

Maven、Gradle、sbtなどのビルドツールを使用している場合。

依存関係プラグインをビルドファイルに追加する必要があります。

Mavenの場合、たとえば、pom.xmlに以下を追加する必要があります。

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

他のビルドツールの依存関係の設定を見つけることができます ここ

1
eliasah