Sparkジョブ・サーバーの使用

DSEには、Sparkジョブを送信および管理するためのRESTインターフェイスであるSparkジョブ・サーバーが含まれています。

DataStax Enterpriseには、オープン・ソースのSparkジョブ・サーバーのバンドルされたコピー、Sparkジョブを送信および管理するためのオプションのコンポーネント、Sparkコンテキスト、およびDSE AnalyticsクラスターのJARが含まれています。このバージョンのDSEに含まれているSparkジョブ・サーバーのバージョンについては、リリース・ノートの「コンポーネント」を参照してください。

有効なspark-submitオプションがサポートされており、Sparkジョブ・サーバーに適用できます。ジョブ・サーバーを使用するには:
  • ジョブ・サーバーを起動します。
    dse spark-jobserver start [any_spark_submit_options]
  • ジョブ・サーバーを停止します。
    dse spark-jobserver stop
Spark Jobserverのデフォルトの場所は、インストールのタイプによって異なります。
  • パッケージ・インストール:/usr/share/dse/spark/spark-jobserver
  • tarボール・インストール:installation_location/resources/spark/spark-jobserver

アップロードされたすべてのJAR、一時ファイル、およびログ・ファイルは、ユーザーの$HOME/.spark-jobserveディレクトリーに作成されます。これはSparkジョブ・サーバーを起動したときに最初に作成されるディレクトリーです。

Sparkジョブ・サーバーの有効なユース・ケースには、キャッシュされたデータの共有、キャッシュされたデータの繰り返しクエリー、およびジョブの起動時間の短縮などがあります。

注:

1つのJVMで複数のSparkContextインスタンスを実行することはお勧めしません。したがって、1つのSparkジョブ・サーバー・インスタンスで送信されたジョブごとに新しいSparkContextを作成することはお勧めしません。次の2つのSparkジョブ・サーバーの使用法のいずれかをお勧めします。

  • 永続コンテキスト・モード:すべてのジョブで共有される1つの事前作成されたSparkContext
  • JVMごとのコンテキスト:各ジョブには、個別のJVMに独自のSparkContextがあります。

    デフォルトでは、H2データベースはSparkジョブ・サーバー関連のメタデータの格納に使用されます。この設定でJVMごとのコンテキストを使用するには、追加の構成が必要です。詳細については、Sparkジョブ・サーバーのドキュメントを参照してください。

    注: JVMモードごとのコンテキストでは、Sparkジョブ・サーバークラスパスに存在しないクラスのインスタンスをジョブ結果に含めてはなりません。不明な(サーバーへの)種類の戻り値に関する問題は、次のログ行で認識できます。
    Association with remote system [akka.tcp://JobServer@127.0.0.1:45153] 
    has failed, address is now gated for [5000] ms. 
    Reason: [<unknown type name is placed here>] 

構成の詳細については、Sparkジョブ・サーバーのドキュメントを参照してください。

Sparkジョブ・サーバーからのアプリケーションの作成および送信方法の例については、DSEに付属しているspark-jobserverデモを参照してください。

demosディレクトリーの場所は、インストールのタイプによって異なります。
  • パッケージ・インストール:/usr/share/dse/demos
  • tarボール・インストール:installation_location/demos

ジョブ・サーバーとのSSL通信の有効化

ジョブ・サーバーとの接続時にSSL暗号化を有効にするには、サーバー証明書と証明書が含まれているトラストストアが必要です。Sparkジョブ・サーバー・ディレクトリーのdse.confファイルに、次の構成セクションを追加します。

spray.can.server {
  ssl-encryption = on
  keystore = "path to keystore"
  keystorePW = "keystore password"
}
Spark Jobserverのデフォルトの場所は、インストールのタイプによって異なります。
  • パッケージ・インストール:/usr/share/dse/spark/spark-jobserver
  • tarボール・インストール:installation_location/resources/spark/spark-jobserver

構成の変更を保存した後、ジョブ・サーバーを再起動します。