2017-05-12 8 views
1

Sparkスタンドアロンクラスタでは、マスタ(start_master.shスクリプトで開始されたノード)の役割は何ですか?Sparkスタンドアロンクラスタでのマスタの役割

私はそれがsubmit-job.shスクリプトからジョブを受け取るノードだと理解しますが、ジョブを処理するときの役割は何ですか?

スレーブ(start_slave.shで開始されたノード)に常にジョブを配信し、処理に参加していないWeb UIが表示されています。その場合、私はmasterと同じマシンでスクリプトstart_slave.shも実行して、そのリソース(CPUとメモリ)を利用するべきですか?

ありがとうございます。

+0

私はそれを実際のクラスタでテストしました。はい、ノードのCPUとメモリを使用する場合は、マスターをホストするノードでスレーブまたはワーカースクリプトを実行する必要があります。マスターはそのリソースのうちのほんの少数しか使用しないため、無駄になります。 – italktothewind

答えて

0

スパークは、以下のクラスタモードで動作します:

  • ローカル
  • スタンドアロン
  • Mesos

上記アプリケーション

スパークするためのリソースを提供し、クラスタモードがあります

スパークタンダルロンモードはマスタスレーブアーキテクチャですが、Spark MasterとSpark Workerがあります。 Spark Masterはクラスタノードの1つで動作し、Spark Workersはクラスタのスレーブノード上で動作します。

スパークマスター(しばしば書かれたスタンドアロンのマスター) スパークアプリケーション間でのリソース(CPU、メモリ、ディスクなど...)割り当てるスパークスタンドアロンクラスタのリソースマネージャ です。リソースは、Spark DriverとExecutorsを実行するために使用されます。

Spark Workersは、スレーブノードに関するリソース情報についてSpark Masterに報告します。

[apache-spark]

+0

しかし、その場合は、リソース(CPUとメモリ)を利用するためにmasterと同じマシンでスクリプトstart_slave.shも実行する必要がありますか? – italktothewind

+0

これらのプロセス(マスターとワーカー)を実行するためのいくつかの起動スクリプトと停止スクリプトがあります。 Sparkスタンドアロンモードを実行するには、1つのマスターと少なくとも1つのスレーブが必要です。 1つの物理ノードがある場合は、$ SPARK_HOME/sbinディレクトリのstart-all.shを使用して、同じノード上でMasterとWorkerを実行します。複数のノードがある場合は、start -all.shスクリプトを使用してノード上のマスターと他のノード上のワーカーを実行します。 start-master.shとstart-slave.shを使ってこれらのプロセスを実行することもできます。 – Naga

関連する問題