DSEFS認証
DSEFSではセキュアなDataStax Enterpriseクラスターを使用できます。
DSEFSではセキュアなDataStax Enterpriseクラスターを使用できます。
セキュアなクラスターにおけるDSEFS認証
認証が必要になるのは、クラスターで認証が有効になっている場合のみです。セキュアなクラスター上のDSEFSにはDseAuthenticator
が必要です(「DSE Unified Authentication(DSE統合認証)の構成」を参照)。認証はデフォルトでオフになっています。
DSE Unified Authentication(DSE統合認証)によるDSEFS認証は、DSE Unified Authentication(DSE統合認証)とLDAPパススルー認証を組み合わせて使用した認証をサポートしています。DSEFSはKerberosを直接サポートしていませんが、ユーザーはDigest MD5認証プロトコルを使用してデリゲーション・トークンで認証することができます。デリゲーション・トークンは、SparkアプリケーションがKerberosで使用されるときに必ず生成され、Sparkアプリケーションはそのトークンを使用してDSEでDSEFSクライアントを認証するよう構成されています。
DSEFS認証は、DSEFSクライアントとDSEFSサーバー間の通信にのみ適用されます。
SparkシェルでhadoopConfigurationオブジェクトを使用した認証
sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication", "basic")
sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication.basic.password", <pass>)
sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication.basic.username", <user>)
Sparkアプリケーション
dse spark-submit
コマンドで設定します。dse -u username -p password spark-submit
または、可能であればユーザー名とパスワードに相当する環境変数を使用します。
SparkContext
が作成される前に、Spark構成オブジェクトでユーザー認証情報をプログラムで設定します。conf.set("spark.hadoop.com.datastax.bdp.fs.client.authentication.basic.username", <user>) conf.set("spark.hadoop.com.datastax.bdp.fs.client.authentication.basic.password", <pass>)
Kerberos認証トークンを使用している場合は、コンテキスト・オブジェクトでプロパティを設定する必要はありません。トークンを明示的に設定する場合は、
spark.hadoop.cassandra.auth.token
を正しく設定します。- Sparkシェルを実行する場合は、
SparkContext
が起動時に作成されるため、Hadoop構成オブジェクトでプロパティを設定します。sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication", "basic") sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication.basic.username", <user>) sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication.basic.password", <pass>)
spark.hadoop
プレフィックスがないことに注意してください。 - SparkアプリケーションまたはSparkシェルを実行する場合は、Hadoop XML構成ファイルでプロパティを指定します。たとえば、/usr/local/lib/dse/resources/hadoop2-client/conf/core-default.xmlの場合は、以下のように指定します。
<property> <name>com.datastax.bdp.fs.client.authentication</name> <value>basic</value> </property> <property> <name>com.datastax.bdp.fs.client.authentication.basic.username</name> <value>username</value> </property> <property> <name>com.datastax.bdp.fs.client.authentication.basic.password</name> <value>password</value> </property>
任意:この方法を使用するときにdse-core-default.xmlへの書き込み権限がない場合は、このファイルを任意の場所pathにコピーし、以下のように、そのファイルを指すように環境変数を設定します。export HADOOP2_CONF_DIR=path
パッケージ・インストールInstaller-Servicesインストール |
/etc/dse/dse.yaml |
tarボール・インストールInstaller-No Servicesインストール |
installation_location/resources/dse/conf/dse.yaml |
パッケージ・インストールInstaller-Servicesインストール |
/etc/dse/cassandra/cassandra.yaml |
tarボール・インストールInstaller-No Servicesインストール |
installation_location/resources/cassandra/conf/cassandra.yaml |