2016-03-18 7 views
0

ビルドシステムから右起動するので、私は(シェードプラグイン付き)のmavenでスパークアプリを構築し、火花提出--deployモードクラスタ(と実行のためのデータノードにそれをscp'ingよ私の制御下にない非対称ネットワークのために--deploy-modeクライアントが動作しません)。火花提出ClassNotFoundExceptionが

はここ

--classテスト --master糸 --deployモードのクラスタに --supervise --verbose jarName.jar HDFSを火花提出する私の起動コマンドです:/ //somePath/Test.txt HDFS:///somePath/Test.out

ジョブはすぐにテストのためにClassNotFoundExceptionで失敗$ 1; java.langで:段階 0.0(TID 0、dataNode3)で失われたタスク0.0:匿名クラスのjavaの一つが

6/03/18 12時59分41秒はscheduler.TaskSetManagerをWARN私のメインクラスから作成されます。 ClassNotFoundException:$ 1を試してください

このエラーは何度も(Google)言及されていますが、ほとんどの推奨事項はconf.setJars(jarPaths)などを呼び出すために役立ちます。

jarName.jarで利用可能なクラスが間違っている(私がチェックした)ときに、なぜこれが必要なのか実際には分かりません。コンパイル時にこれを指定するのは、実行時に--jarどのような場合でも、私は瓶にどのような経路を提供すべきですか?私は、ビルドシステム上のターゲット/ jarName.jarからのデータノード上で私のホームディレクトリにコピーしてきたが、それは思わ火花提出どこかにそれがでハードコーディングされたパス名に見極めるのいずれかの時間をコンパイルするのは難しいHDFSにコピーし、それをまたは起動時間。

そして、すべてのほとんどは、なぜスパーク提出されていません。この自動someJar.jar引数に基づいて、そうでない場合、私はそれを修正するために何をすべきを扱いますか?

+0

ただ、ヒバリ、その上に--deployModeクライアントを使用してみました働いた!私は本当にこれを理解していない。 – Bradjcox

+0

私はスパークがあなたの瓶を見つけることができないと信じています。あなたのjarファイルは各ノードに存在しますか?あなたは瓶の絶対パスを指定しようとしましたか? –

答えて

0

使用しよう spark submit java.lang.ClassNotFoundException

spark-submit --class Test --master yarn --deploy-mode cluster --supervise --verbose jarName.jar hdfs:///somePath/Test.txt hdfs:///somePath/Test.out 

ここから解答を確認し、また、あなたのプロジェクトに絶対パスをチェックすることができ

--class com.myclass.Test 
関連する問題