8

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

親切に助けてください。

4

2 に答える 2

10

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

この変数を以下のように設定して、クラスのコンパイルを試すことができます。

export CLASSPATH=$CLASSPATH:/Users/oladotunopasina/hadoop-1.2.1/hadoop-core-1.2.1.jar
于 2014-06-24T16:53:13.827 に答える
1

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

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

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

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

他のビルド ツールの依存関係の設定については、こちらを参照してください。

于 2014-06-25T20:22:27.923 に答える