0

Spark で開発されたデータ パイプライン用の非常に低い構成のテスト マシンがあります。2 つの CPU と 8 GB の RAM しかない AWS t2.large インスタンスを 1 つだけ使用します。

2 つの Spark ストリーミング ジョブを実行する必要があるほか、バッチ ジョブをときどきテストするためのメモリと CPU パワーを残しておく必要があります。

したがって、マスターと 1 つのワーカーが同じマシン上にあります。

いくつかの一般的な質問があります: 1) 1 人のワーカーごとにいくつのエグゼキューターを実行できますか? デフォルトが 1 であることはわかっていますが、これを変更する意味はありますか?

2) 1 つのエグゼキュータが複数のアプリケーションを実行できますか、または 1 つのエグゼキュータが 1 つのアプリケーション専用ですか?

3)これを機能させる方法、アプリケーションが構成ファイルで使用できるメモリを設定する方法、またはスパークコンテキストを作成する方法はありますか?

ありがとうございました

4

1 に答える 1

0

1 人のワーカーごとに実行できるエグゼキューターの数は? デフォルトが 1 であることはわかっていますが、これを変更する意味はありますか?

十分なリソースがある場合にのみ意味があります。たとえば、24 GB で 12 コアのマシンでは、1 つのエグゼキューターに 8 GB で十分であることが確実な場合、3 つのエグゼキューターを実行できます。

1 つのエグゼキュータが複数のアプリケーションを実行できるか、または 1 つのエグゼキュータが 1 つのアプリケーション専用か?

いいえ、すべてのアプリケーションは独自のエグゼキュータを開始します。

これを機能させる方法、アプリケーションが構成ファイルで使用できるメモリを設定する方法、またはスパークコンテキストを作成する方法はありますか?

質問を理解しているかどうかわかりませんが、アプリケーションの構成を提供する方法は 3 つあります

  • ただし、新しい SparkConf インスタンスを作成するときは、デフォルト プロパティの読み取りをオンにすることを忘れないでください。
  • アプリケーションを実行するときに-Dを介してシステムプロパティを提供するか、spark-submitまたはspark-shellの場合は--confを提供します。ただし、メモリ オプションには、spark.executor.memory や spark.driver.memory などの特定のパラメータが使用されます。
  • set メソッドを使用して、新しい SparkConf インスタンスを通じて同じオプションを提供します。
于 2016-05-04T15:42:21.877 に答える