1

5 ノードの Spark クラスターを spark-1.5 から spark-1.6 にアップグレードしました (mapWithState 関数を使用するため)。spark-1.6 を使用した後、spark の奇妙な動作が発生しました。ジョブが一度に異なるノードの複数のエグゼキューターを使用していないということは、各ノードに単一のワーカーとエグゼキューターがある場合、並列処理がないことを意味します。Spark スタンドアロン モードでジョブを実行しています。

この問題に関連して、次の点に気付きました。

  1. spark-1.5 で同じジョブを実行すると、一度に異なるノード間で複数のエグゼキュータが使用されます。
  2. Spark-1.6 では、コア数 (spark.cores.max) を増やすと、ジョブは並列スレッドで実行されますが、同じエグゼキューター内で実行されます。
  3. Spark-1.6 では、各ノードのワーカー インスタンスの数を増やすと、ジョブはワーカーの数として並列に実行されますが、同じノード内で実行されます。

spark 1.6が並列処理のために一度に異なるノード間で複数のエグゼキューターを使用できない理由を誰でも提案できますか? あなたの提案は高く評価されます。

4

0 に答える 0