2016-12-16 11 views
0

YARNを使用している間にZeppelinでScaldingを処理しようとしています。私は、文書hereの手順に従ってインタープリタを構築し、クラスパスの上書きを設定しました。ローカルモードで実行すると、コードが正しく実行されます。私はYARNを経由して私のクラスタ上で実行した場合しかし、私の仕事はして失敗:YARNで管理されているZeppelinでスケーリングされたClassNotFoundException

Error: java.lang.ClassNotFoundException: cascading.CascadingException 

または

Error: java.lang.ClassNotFoundException: cascading.tuple.TupleException 

何私にも、見知らぬ人であることは私がツェッペリンに入ると、実行できることです。

import cascading.tuple.TupleException 
import cascading.CascadingException 

これらのクラスはどちらも問題ありません。それは、型付きパイプにデータをロードし、ダンプしてClassNotFoundExceptionを取得するような、実際にスケールアウト(YARN)を使用しようとするときだけです。どのようにデバッグするか、何を修正するかに関するアイデアはありますか?

答えて

1

カスケードジャーがYARNクラスターに配布されていないようです。スケーリングインタプリタのargs.stringプロパティに "zeppelin/interpreter/scalding/*"を追加してください。

は、ここで我々が使用args.stringです:

-libjars /ホーム/ツェッペリンユーザー/ツェッペリン/通訳/火傷/ 、/ホーム/ツェッペリンユーザー/展開バンドル-201608111417/libsに/ - Dscalding.reducer.estimator.classes = com.twitter.scalding.reducer_estimation.InputSizeReducerEstimator -Delephantbird.use.combine.input.format =真-Delephantbird.combine.split.size = 134217728 --hdfs --repl

tmpjars YARNクラスターに配布されるjarファイルが含まれています。以下のコマンドでその内容を見ることができます:

%scalding 
mode.asInstanceOf[Hdfs].conf.get("tmpjars").split(",").foreach(println) 
関連する問題