2016-11-28 3 views
0

私の理解によれば、スパークはすべての糸クラスタ内のノード。スパークインストールは、スパーク送信スクリプトが起動されるノード(通常はゲートウェイノード)でのみ必要です。 YARN側からアクセススパークランタイムのjarファイルを作るためにスパークプログラミングガイドsparkランタイムjar(../spark-2.0.1-bin-hadoop2.6/jars)は、YARNクラスター内の物理ワーカーノードにどのように配布されるのですか?

あたりとして

、あなたは spark.yarn.archiveまたはspark.yarn.jarsを指定することができます。スパークコード(../spark-2.0.1-bin-hadoop2.6/jarsで利用可能なつまり火花ランタイムjarファイル)を含むライブラリーは、中(エグゼキュータが起動されている)物理ワーカーノードに配布しますどのよう

YARNクラスター。

ありがとうございます。

答えて

0

hdfsにjarを配置し、spark.yarn.jarsパスをhdfsの位置に設定することができます。これにより、すべてのノードにスパークジャーが提供されます。

環境変数(たとえば、spark-env.sh)を配布する必要がある場合は、すべてのノード上にある必要があります。

+0

これは、sparkランタイムjarが、 'spark.yarn.jars'が指すパスからエグゼキュータが起動されるすべてのワーカーノードにローカルにコピーされることを意味します。はいの場合、これはスパークアプリケーションの実行ごとに発生します。 –

+0

これはhdfsから直接読み取られ、ドライバーがジョブを作成し、エグゼキュータがノードに割り当てられると作成されます。 –

0

まず、瓶は、HDFS(ステージングフォルダ)に、私はClouderaのコミュニティでこの質問を投稿していた各ノードマネージャ

0

のローカル/ tmpディレクトリに配布し、その後にアップロードされています。答えを共有する考え。

スパーク上で実行している場合は、スパークアーカイブはContainerLocalizer(別名分散キャッシュ)を経由して労働者 ノードに配布されます。 Spark first はHDFSにファイルをアップロードし、HDFSから必要なときにワーカーノードは jarをダウンロードすることができます。ローカライザーは、 ワーカーが変更されたときにそれをダウンロードするか、またはワーカーを ワーカーから削除しただけなので、jarを再利用して、ローカルにまだ が存在する場合には再びダウンロードする必要はありません。

関連する問題