2017-01-13 1 views
0

こんにちは人々と幸せな新年;)!ストリーミングとスパークアプリケーションを同じYARNクラスタ内で実行できますか?

私はApache Spark、HDFS、Elastichsearchでラムダアーキテクチャをビルドしています。以下の画像で は、ここで私が何をしようとしています何: enter image description here

をこれまでのところ、私は私のスパークストリーミングとスパークアプリケーションのためのJavaのソースコードを書かれています。私はスパークの文書で、スパークはメゾスまたはヤーンのクラッターで実行できることを読みました。写真に示されているように、私はすでにハープ・クラスターを持っています。同じハープクラスター内でスパークストリーミングとスパークアプリケーションを実行することは可能ですか?はいの場合は、特定の構成(ノード数、RAMなど)があるかどうかを確認します。それとも、スパークストリーミング専用のハープクラスタースペシャリを追加する必要がありますか?

私の説明は明らかです。

ヤッシール

+0

はい、できます。下記をご確認ください:https://www.inovex.de/blog/247-spark-streaming-on-yarn-in-production/ –

答えて

1

スパークストリーミングを実行するために別個のクラスタを構築する必要はありません。

spark.masterプロパティをconf/spark-defaults.confファイルのyarn-clientまたはyarn-clusterに変更します。このように指定すると、提出されたスパークアプリケーションはYARNのApplicationMasterによって処理され、NodeManagerによって実行されます。

コアおよびメモリのこれらのプロパティを変更して、SparkとYarnを整列させます。 yarn-site.xmlそれがデッドロックまたはクラスタの不適切なリソース使用率のどちらかにつながる可能性がありそうで

yarn.nodemanager.resource.memory-mb 
yarn.nodemanager.resource.cpu-vcores 

spark-defaults.conf

spark.executors.memory 
spark.executors.cores 
spark.executors.instances 

Spark on Yarnの実行時にクラスタのリソース管理についてはhereを参照してください。

1

可能です。ストリーミングアプリケーションとバッチアプリケーションを同じ糸クラスターに提出します。しかし、これらの2つのジョブ間でクラスターリソースを共有するのは少し難解かもしれません。

Spark Jobserverをご覧になることをお勧めします。 Spark-jobserverは、複数のスパークコンテキストを維持したいときに、より簡単に作業を実行できます。両方のアプリケーションに必要な構成はすべて1か所になります。

関連する問題