Sparkの起動

Sparkの起動方法はインストールによって異なり、また、SparkモードまたはSearchAnalyticsモードで実行することが必要かどうかによっても異なります。

Sparkを起動する前に、dseClientToolオブジェクトに対してRPCパーミッションを設定します。
注: DseClientToolオブジェクトは暗黙的にSparkランチャーから呼び出されるため、Sparkを実行するには、DseClientToolオブジェクト用のRPCパーミッションが必要です。

Sparkの起動方法はインストールによって異なり、また、SparkモードまたはSearchAnalyticsモードで実行することが必要かどうかによっても異なります。

Installer-Servicesおよびパッケージのインストール
SparkトラッカーをAnalyticsノードのクラスターで起動するには、/etc/default/dseファイルを編集してSPARK_ENABLEDを1に設定します。

DataStax Enterpriseをサービスとして起動すると、ノードがSparkノードとして起動されます。追加のコンポーネントを有効にすることもできます。

Mode /etc/default/dseのオプション 説明
Spark SPARK_ENABLED=1 ノードをSparkモードで起動します。
SearchAnalyticsモード

SPARK_ENABLED=1
SEARCH_ENABLED=1

SearchAnalyticsモードは、実稼働クラスターで使用する前に、現在の環境でテストする必要があります。DSE SearchAnalyticsクラスターではワークロードの分離が行われず、実稼働環境におけるプロビジョニングとパフォーマンスの詳細なガイドラインも存在しませんdse.yamlでは、cql_solr_query_paging:driverが必要です。
Installer-No Servicesおよびtarボールのインストール:
SparkトラッカーをAnalyticsノードのクラスターで起動するには、-kオプションを使用します。
dse cassandra -k
注:

-kを使用して起動したノードは、スニッチのプロパティ・ファイルでデータ・センターを構成していない場合、デフォルトのAnalyticsデータセンターに自動的に割り当てられます。

以下の追加のコンポーネントを有効にすることができます。
Mode オプション 説明
Spark -k ノードをSparkモードで起動します。
SearchAnalyticsモード

-k -s

SearchAnalyticsモードは実験的であり、実稼働クラスターには推奨されません。dse.yamlでは、cql_solr_query_paging:driverが必要です。
例:

ノードをSearchAnalyticsモードで起動するには、-kオプションと-sオプションを使用します。

dse cassandra -k -s

SearchAnalyticsモードは実験的であり、実稼働クラスターには推奨されません。

Sparkオプションを使用してノードを起動すると、dsetool ringコマンドの出力のAnalytics(JT)ワークロードによって示されるとおり、ジョブ・トラッカーとして指定されたノードが起動します。

dsetool ring

注:Ownership information does not include topology, please specify a keyspace. 
Address          DC           Rack   Workload      Status  State    Load      Owns   Token                       
10.160.137.165   Analytics    rack1  Analytics(JT)    Up   Normal   87.04 KB  33.33% -9223372036854775808                        
10.168.193.41    Analytics    rack1  Analytics(TT)    Up   Normal   92.91 KB  33.33% -3074457345618258603                        
10.176.83.32     Analytics    rack1  Analytics(TT)    Up   Normal   94.9 KB   33.33% 3074457345618258602
dsetoolコマンドのデフォルトの場所は、インストールのタイプによって異なります。
パッケージ・インストール /usr/bin/dsetool
Installer-Servicesインストール /usr/bin/dsetool
Installer-No Servicesおよびtarボール・インストール install_location/bin/dsetool
sudoを使用してDataStax Enterpriseを起動する場合は、クラスターを再起動する前に~./sparkディレクトリーを削除します。
sudo rm -r ~/.spark

Sparkの起動

Sparkノードを起動した後で、dseコマンドを使用してSparkを起動します。

dseツールのデフォルトの場所は、インストールのタイプによって異なります。
パッケージ・インストール /usr/bin/dse
Installer-Servicesインストール /usr/bin/dse
Installer-No Servicesおよびtarボール・インストール install_location/bin/dse

Cassandra特有のプロパティを使用してSparkを起動することもできます。Sparkは、cassandra.yamlに指定されているlisten_addressにバインドします。

cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra.yaml
tarボール・インストール install_location/resources/cassandra/conf/cassandra.yaml

DataStax Enterpriseでは、以下のコマンドをDataStax Enterpriseコマンド・ラインで使用してSparkを起動できます。

dse spark
対話型のSparkシェルを起動して、基本的なオートコンプリートを提供します。
dse spark 
dse spark-submit
spark-submitと同様に、クラスター上でアプリケーションを起動します。廃止予定のdse spark-classコマンドを置き換えます。このインターフェイスを使用すると、アプリケーションごとに別々の構成を行わなくてもSparkクラスター・マネージャーを使用できます。構文は以下のとおりです。
dse spark-submit --class class_name jar_file other_options
たとえば、dという名前のオプションを定義するクラスを作成する場合は、以下のようなコマンドを入力します。
dse spark-submit --class com.datastax.HttpSparkStream target/HttpSparkStream.jar -d $NUM_SPARK_NODES
注: 現在のユーザーは、dse Sparkコマンドを実行するディレクトリーに書き込みができるようになっている必要があります。

内部認証がサポートされています。

オプションの環境変数であるDSE_USERNAMEDSE_PASSWORDを使用すると、セキュリティを強化し、ユーザー名やパスワードがSparkログ・ファイルやSpark Web UIのプロセス・リストに表示されるのを回避できます。環境変数を使用してユーザー名とパスワードを指定するには、以下をBash .profileまたは.bash_profileに追加します。
export DSE_USERNAME=user
export DSE_PASSWORD=secret
これらの環境変数は、すべてのSparkコマンドに対してサポートされています。
ユーザー名とパスワードを指定してアプリケーションを実行するには、以下の構文を使用します。
dse [-u username -p password] [-f config_file] [-a jmx_username -b jmx_password] spark[-submit] 
ここで、
  • -f config_fileは、認証情報を格納する構成ファイルのパスです。指定しなかった場合は、~/.dsercが存在すれば、そのパスが使用されます。
    構成ファイルには、CassandraおよびJMXログイン認証情報を格納できます。例:
    username=cassandra
    password=cassandra
    jmx_username=cassandra
    jmx_password=jmx
    認証情報は構成ファイルにクリア・テキストで格納されます。このファイルへのアクセスを特定のユーザーだけに制限することを推奨します。
  • dse -u usernameは、構成されたCassandraユーザーに対して認証するためのユーザー名です。
  • dsetool -l usernameは、構成されたCassandraロールに対して認証するためのユーザー名です。
  • -p passwordは、構成されたCassandraロールに対して認証するためのパスワードです。コマンドラインでパスワードを入力しなかった場合は、パスワードの入力を要求するプロンプトが表示されます。
  • -a jmx_usernameは、セキュアなJMXを使用して認証するためのユーザー名です。
  • -b jmx_usernameは、セキュアなJMXを使用して認証するためのパスワードです。コマンドラインでパスワードを入力しなかった場合は、パスワードの入力を要求するプロンプトが表示されます。
  • subcommandは、dseまたはdsetoolの任意のサブコマンドです。
注: セキュリティを強化してユーザー名とパスワードがSparkのログ・ファイルやSpark Web UIのプロセス・リストに表示されるのを回避するために、DataStaxではユーザー認証情報をコマンド・ラインで渡す代わりに、環境変数を使用することを推奨しています。

認証情報を複数の方法で提供できます。「認証情報」を参照してください。

dse.yamlファイルの場所は、インストールのタイプによって異なります。
Installer-Services /etc/dse/dse.yaml
パッケージ・インストール /etc/dse/dse.yaml
Installer-No Services install_location/resources/dse/conf/dse.yaml
tarボール・インストール install_location/resources/dse/conf/dse.yaml