Sparkがyarnクラスタ上で実行する2つのコミット方式
1968 ワード
文書ディレクトリ Sparkクラスタ概要 yarnクラスタの2つのコミット方式 client 実行原理 実行フロー cluster コミットコマンド(2種類) 実行原理 実行フロー Sparkクラスタの簡単な紹介
前のブログで紹介したSparkクラスタは4つに分かれています. local stand alone yarn mesos
ここではyarnを紹介します.
yarnクラスタの2つのコミット方式
まずsparkはyarnクラスタ上を走って、HDFSを開かなければなりません.パケットはHDFSにアップロードされるからです.しかし、standaloneクラスタは開く必要はありません.開くと、sparkクラスタが2つあり、Applicationを提出するとリソースの奪い合いの問題が発生する可能性があります.
client
Standaloneクラスタとyarnクラスタのコミットコマンドの比較: Stand alone:spark-submit --master spark://node01:7077 yarn:spark-submit --master yarn-client --class org.apache.spark.examples.SparkPi …/lib/spark-examples-1.6.3-hadoop2.6.0.jar 10
じっこうげんり
プロセスの実行クライアントはアプリケーションを送信し、クライアントでDriverプロセス を開始する. DriverプロセスはRS(ResourceManager)に要求を送信し、AM(ApplicationMaster)のリソースを起動します. RSは要求を受け取り、ランダムに1台のNM(NodeManager)を選択してAMを起動する.ここでのNMはStandaloneのWorkerノードに相当する. AMが起動すると、Executor を起動するためにRSにcontainerリソースが要求されます. RSは、Executorを起動するためのNMのバッチを見つけてAMに返す. AMはNMにコマンドを送信しExecutorを起動します. Executorが起動すると、逆にDriverに登録され、DriverはtaskをExecutorに送信し、実行状況と結果はDriver側に返されます.
cluster
コマンドの発行(両方)
じっこうげんり
プロセスの実行クライアントはアプリケーションを発行し、RS(ResourceManager)に要求を送信し、AM(ApplicationMaster)の起動を要求する. RSは、要求を受信した後、ランダムに1台のNM(NodeManager)上でAM(Driver側に相当)を起動する. AMが起動し、AMはRSに要求を送信し、Executorを起動するための一連のcontainerを要求する. RSは、NMノードのバッチをAMに返す. AMはNMに接続され、NM起動Executorに要求を送信する. Executorは、AMが存在するノードのDriverに逆登録される.DriverはtaskをExecutorに送信します.
前のブログで紹介したSparkクラスタは4つに分かれています.
ここではyarnを紹介します.
yarnクラスタの2つのコミット方式
まずsparkはyarnクラスタ上を走って、HDFSを開かなければなりません.パケットはHDFSにアップロードされるからです.しかし、standaloneクラスタは開く必要はありません.開くと、sparkクラスタが2つあり、Applicationを提出するとリソースの奪い合いの問題が発生する可能性があります.
client
Standaloneクラスタとyarnクラスタのコミットコマンドの比較:
じっこうげんり
プロセスの実行
cluster
コマンドの発行(両方)
./spark-submit --master yarn --deploy-mode cluster --class org.apache.spark.examples.SparkPi …/lib/spark-examples-1.6.0-hadoop2.6.0.jar 100
./spark-submit --master yarn-cluster --class org.apache.spark.examples.SparkPi …/lib/spark-examples-1.6.0-hadoop2.6.0.jar 100
じっこうげんり
プロセスの実行