Spark Standaloneクラスターのワーカー、エグゼキューター、コアとは何ですか?
クラスターモードの概要を読みましたが、Sparkスタンドアロンクラスターのさまざまなプロセスと並列処理をまだ理解できません。 ワーカーはJVMプロセスですか?私はを実行したbin\start-slave.shところ、ワーカー(実際にはJVM)が起動されることがわかりました。 上記のリンクのとおり、エグゼキューターは、タスクを実行するワーカーノード上のアプリケーションに対して起動されるプロセスです。executorもJVMです。 これらは私の質問です: 実行者はアプリケーションごとです。では、労働者の役割は何でしょうか?それはエグゼキューターと調整し、結果をドライバーに伝えますか?または、ドライバーはエグゼキューターに直接話しかけますか?もしそうなら、労働者の目的は何ですか? アプリケーションのエグゼキューターの数を制御するにはどうすればよいですか? エグゼキューター内でタスクを並行して実行できますか?もしそうなら、どのようにエグゼキューターのスレッド数を設定しますか? ワーカー、エグゼキューター、エグゼキューターコア(--total-executor-cores)の関係は何ですか? ノードあたりのワーカー数が増えるとはどういう意味ですか? 更新しました 例を見て理解を深めましょう。 例1: 5つのワーカーノード(各ノードに8つのコアがある)を持つスタンドアロンクラスターデフォルトの設定でアプリケーションを起動したとき。 例2例1と 同じクラスター構成ですが、次の設定でアプリケーションを実行します--executor-cores 10 --total-executor-cores 10。 例3 例1と同じクラスター構成ですが、次の設定でアプリケーションを実行します--executor-cores 10 --total-executor-cores 50。 例4 例1と同じクラスター構成ですが、次の設定でアプリケーションを実行します--executor-cores 50 --total-executor-cores 50。 例5 例1と同じクラスター構成ですが、次の設定でアプリケーションを実行します--executor-cores 50 --total-executor-cores 10。 これらの各例では、エグゼキューターは何人ですか?エグゼキューターあたりのスレッド数は?コアはいくつですか?アプリケーションごとのエグゼキューターの数はどのように決定されますか?それは常に労働者の数と同じですか?