私はHadoopが初めてです。Hadoop 0.22 を使用しています。ドライバーでは、次のコードを使用しました。
Job job = Job.getInstance(configuration);
...
job.addArchiveToClassPath(new Path(JAR_DIR);
...
Map クラスでは、ローカル クラスパスに jar を追加するためにどのコードを使用する必要がありますか?
詳細
マップで必要なジョブがあり、フェーズ htmlunit.jar を減らします。この jar を上記のコードを使用してクラスパスに追加しますが、ジョブを送信すると、htmlunit 参照を使用する行に ClassNotFoundException があります。上記のコードの場合大丈夫です。DistributedCache は、タスクトラッカーのクラスパスに jar を自動的に追加します。何が問題なのですか? ジョブを送信するときにオプション -libjars htmlunit.jar も使用する必要がありますか? 別の Hadoop コンポーネントを使用する必要がありますか?