2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Apache spark master の指定で勘違い

Posted at

Apache spark には、そのアプリケーションをどの環境で実行させるかを指定するための設定値として、master(master URL)というものがあります。
その目的に合わせて指定する必要があるので、それぞれのモードをまとめておきたいと思います。

1.ローカルモード

1つのインスタンス(driverプロセス)で処理を行います。
実行中の spark アプリケーション上の ExecutorID には、driver という表記しか存在せず、分散処理では Executor が担当する計算処理もすべてこのインスタンスで処理されます。
アプリケーションの単体テストで指定されることをよく見かけます。
master URL には "local" と指定するが、その指定の仕方によって、実行時に作成されるスレッド数などに影響があります。

スレッド数 最大試行回数(n回以上何らかのタスクが失敗するとジョブが失敗と見なされる)
local  1 
local[2]  1 
local[*] cpuのコア数と同じ  1 
local[*,3] cpuのコア数と同じ  3 
2.ローカルクラスターモード

ローカル環境において所謂、疑似分散モードで処理を行います。
実際に使われている場面を見ることが少ないのですが、単体テストで上手く使えれば、パフォーマンスの向上につなげられるかもしれません。

Executor数 cpu コア数 メモリサイズ
local-cluster[2,2,1024] 2  2   1024 
3.yarn client モード

yarn によるリソース管理の元で実行します。
ただし、driver プロセスはクライアント側のプロセスとして実行されます。
アウトプットを素早く確認するための対話モードやデバッグに向いているため、開発中に指定することがあります。

補足
yarn-client Yarn Resource Managerの場所は、Hadoopの設定ファイルで指定するため、マスターURLにIPアドレス等は指定する必要がない 
4.yarn cluster モード

yarn によるリソース管理の元で実行します。
driver プロセスもYarn管理下の アプリケーションMaster 内で実行されます。
driver プロセスに異常が発生した場合に自動的に再割り当てされるため、本番環境で実行するのに適しています。

補足
yarn-cluster Yarn Resource Managerの場所は、Hadoopの設定ファイルで指定するため、マスターURLにIPアドレス等は指定する必要がない 
5.Spark Standalone Cluster モード

SparkにはHadoopやリソース管理のYarnなしで、ローカルで簡易クラスターを実行させるためのモードが用意されています。
Sparkのクライアントに付属している Master と Worker を起動させることで、そのクラスターを作成することが可能です。
ローカルで動かすという点では、ローカルモードと同じであるため、間違えやすい。
実際、Spark Standalone Cluster を構築しているにも関わらず、ローカルモードで動かしているという勘違いを何度か経験しています。
ローカルクラスターモードは、1台のサーバ上で複数のExecutorを動作させるモードで、Spark Standalone Cluster モードは、複数のサーバ(コンテナ)に亘って複数のdriver もしくはExecutorを動作させます。
そのため、HadoopやYarnの環境はないけれど、少数のサーバで簡易クラスタを構築させたい上では使用できると思われます。

補足
spark://ホスト:ポート ホストにはホスト名もしくはIPアドレスを指定する。ポートはデフォルトで7077 

※Yarnの他に Apache Mesos など他にもリソース管理する仕組みがあります

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?