6

pysparkデフォルト設定の 8 ノード Google dataproc クラスタで実行しています。開始から数秒後、30 個のエグゼキュータ コアが実行されていることがわかります (予想どおり)。

    >>> sc.defaultParallelism
    30

1分後:

    >>> sc.defaultParallelism
    2

その時点から、すべてのアクションは 2 つのコアのみで実行されます。

    >>> rng = sc.parallelize(範囲(1,1000000))
    >>> rng.cache()
    >>> rng.count()
    >>> rng.getNumPartitions()
    2

rng.cache()コアがまだ接続されている間に実行すると、コアは接続されたままになり、ジョブが分散されます。

監視アプリ (マスター ノードのポート 4040) を確認すると、executor が削除されていることがわかります。

Executor 1
Removed at 2016/02/25 16:20:14
Reason: Container container_1456414665542_0006_01_000002 exited from explicit termination request." 

回避策なしでコアの接続を維持できる設定はありますか?

4

1 に答える 1