認証が有効になっている場合のクラスター・モードでのSparkアプリケーションの有効化

JARファイルがCassandraファイル・システム(CFS)にあり、認証が有効になっている場合にクラスター・モードでSparkアプリケーションを有効にするための構成手順。

JARファイルがCassandraファイル・システム(CFS)にあり、認証が有効になっている場合は、クラスター・モードでSparkアプリケーションを有効にする必要があります。アプリケーションをクラスター・モードで送信し、JARファイルがCassandraファイル・システム(CFS)にある場合、Spark Workerプロセスは必要なJARファイルを取得する責任があります。認証が必要な場合、Sparkワーカー・プロセスではCFSへの認証情報を要求します。Sparkワーカーは、無関係のSparkジョブに対してエグゼキューターを起動するため、 Sparkワーカー・プロセスに認証を与えることで、今後のすべてのSparkジョブが依存関係に対してJARファイルをCFSから取得するようになります。Sparkワーカーに付与される認証情報は、送信したユーザーが誰であるかにかかわらず、すべての送信済みアプリケーション間で"共有"されるものと見なす必要があります。 共有される認証情報は、アプリケーション・コードからのCFSへのアクセスには適用されません。
spark-env.shファイルのデフォルトの場所は、インストールのタイプによって異なります。
Installer-Servicesおよびパッケージ・インストール /etc/dse/spark/spark-env.sh
Installer-No Servicesおよびtarボール・インストール install_location/resources/spark/conf/spark-env.sh

手順

  1. JARファイルがCassandraファイル・システム(CFS)にあり、認証が有効になっている場合にクラスター・モードでSparkアプリケーションを有効にするには、以下のいずれかを実行します。
    • 次の文をすべてのDataStax Enterpriseノードのspark-env.shに追加します。
      SPARK_WORKER_OPTS="$SPARK_WORKER_OPTS -Dspark.hadoop.cassandra.username=username
      -Dspark.hadoop.cassandra.password=password"
    • DataStax Enterpriseサーバー・プロセスを開始する前に、DataStax Enterpriseサーバー・プロセスへの可視性が保証されるような方法でSPARK_WORKER_OPTS環境変数を設定します。

      この環境変数は、dse sparkまたはdse spark-submitコマンドを使用して送信するアプリケーションには渡す必要がありません。

  2. 以下のベスト・プラクティスに従います。
    • CFSのみで権限(関連するCFSキースペースへのアクセス権)を持つ一意のユーザーを作成し、この一意のユーザーの認証情報を使用して、Sparkワーカーの認証を行います。このベスト・プラクティスでは、明示的なパーミッションを持たないユーザーのSparkジョブを経由してアクセス可能なCassandraデータベース内の保護されている情報の量を制限します。
    • 特定のCFSディレクトリーを作成し、ディレクトリーのアクセス権限を読み取り専用に制限します。