Sparkマスターの自動選出

Sparkマスター選出は自動で管理されます。

Sparkマスター選出は自動で管理されるため、手動で構成する必要はありません。

DSE Analyticsデータ・センターは、互いに通信してノードの1つをSparkマスターとして、もう1つを予約マスターとして選出します。マスターは各Sparkワーカーとアプリケーションを追跡し、情報をシステム・テーブルに格納します。Sparkマスター・ノードに障害が発生すると、予約マスターが引き継ぎ、残りのAnalyticsノードから新しい予約マスターが選出されます。

各Analyticsデータ・センターは、独自のマスターを選出します。

dsetoolコマンドとオプションについては、「dsetool」を参照してください。

Sparkマスター・アドレスの決定

これらのコマンドを使用して、Sparkマスター・アドレスを決定します。
  • このデータ・センターでのSparkマスターの現在のアドレスを表示するには、次のようになります。
    $ dse client-tool spark master-address dse://10.200.181.62:9042?connection.local_dc=Analytics;connection.host=10.200.181.63;
  • dse client-toolの現在の接続ポイントのIPアドレスだけを表示するには、次のようになります。
    $ dse client-tool spark leader-address 10.200.181.62
  • Sparkマスターのワークロードにはワークロードの欄に「Analytics(SM)」のフラグが付けられます。
    dsetool ring Address DC Rack Workload Graph Status State Load Owns Token Health [0,1] 0 10.200.181.62 Analytics rack1 Analytics(SM) no Up Normal 111.91 KiB ? -9223372036854775808 0.10
  • dse_leases.leasesテーブルにクエリーし、各データ・センターのすべてのマスターをリストします。
    cqlsh> select * from dse_leases.leases ;
    name | dc | duration_ms | epoch | holder ----------+-----------+-------------+---------+--------------- HadoopJT | Cassandra | 30000 | 805254 | 10.200.176.42 HadoopJT | SparkDC | 30000 | 1300800 | 10.200.176.45 HadoopJT | SearchDC | 30000 | 7 | 10.200.176.44

dse_leasesキースペースに対してレプリケーション係数が適切に構成されていることを確認する

dse_leasesキースペースが適切にレプリケートされていないと、Sparkマスターが選出されない可能性があります。
重要: 新しいデータ・センターを追加するたびに、新しいDSE Analyticsデータ・センターのdse_leasesキースペースのレプリケーション係数を手動で大きくする必要があります。また、クラスターでDataStax EnterpriseまたはSparkのセキュリティ・オプションが有効になっている場合は、すべての論理データ・センターでdse_securityキースペースのレプリケーション係数を大きくする必要があります。
マルチ・データ・センターの最初のノードは、dse_leasesキースペースのレプリケーション係数が1です。新しいデータ・センターの場合、最初のノードは、そのデータ・センターについてのdse_leasesキースペースのレプリケーション係数が1に設定されて作成されます。ただし、追加するデータ・センターのレプリケーション係数は0で、DSE Analyticsノードを起動する前に構成する必要があります。複数の分析データ・センターについて、dse_leasesキースペースのレプリケーション係数を変更する必要があります。分析キースペースのレプリケーション係数の設定」を参照してください。

リース・サブシステムの監視

リース・ホルダーの変更はすべてdse_leases.logsテーブルに記録されます。ほとんどの場合、ロギングを有効にする必要はありません。
  1. ロギングをオンにするには、lease_metrics_optionsdse.yamlファイル内で有効になっていることを確認します。
    lease_metrics_options:
        enabled:true
        ttl_seconds: 604800
  2. dse_leases.logsテーブルを確認します。
    cqlsh> select * from dse_leases.logs ; name | dc | monitor | at | new_holder | old_holder ---------------+-----+---------------+---------------------------------+---------------+------------ Leader/master | dc1 | 10.200.180.44 | 2016-11-03 19:19:51.347000+0000 | 10.200.180.44 | Leader/master | dc1 | 10.200.180.49 | 2016-11-03 19:19:56.041000+0000 | 10.200.180.44 |
  3. lease_metrics_optionが有効になっている場合は、取得、更新、解決、無効化の操作を調べることができます。ほとんどの場合、これらの操作は100 ms以下で完了します。
    cqlsh> select * from dse_perf.leases ; name | dc | monitor | acquire_average_latency_ms | acquire_latency99ms | acquire_max_latency_ms | acquire_rate15 | disable_average_latency_ms | disable_latency99ms | disable_max_latency_ms | disable_rate15 | renew_average_latency_ms | renew_latency99ms | renew_max_latency_ms | renew_rate15 | resolve_average_latency_ms | resolve_latency99ms | resolve_max_latency_ms | resolve_rate15 | up | up_or_down_since ---------------+-----+---------------+----------------------------+---------------------+------------------------+----------------+----------------------------+---------------------+------------------------+----------------+--------------------------+-------------------+----------------------+--------------+----------------------------+---------------------+------------------------+----------------+------+--------------------------------- Leader/master | dc1 | 10.200.180.44 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 24 | 100 | 100 | 0 | 8 | 26 | 26 | 0 | True | 2016-11-03 19:30:38.395000+0000 Leader/master | dc1 | 10.200.180.49 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 10 | 32 | 32 | 0 | True | 2016-11-03 19:30:55.656000+0000
  4. 関連する情報がログの警告とエラーに含まれていない場合は、logback.xmlファイルを編集して以下を追加します。
    <logger name="com.datastax.bdp.leasemanager" level="DEBUG"> 
  5. デバッグ設定を有効にするには、ノードを再起動します。

トラブルシューティング

DataStaxサポートに問い合わせる前に、以下のさまざまなリース・ホルダーのトラブルシューティング・アクティビティーを実行してください。
ワークロード・ステータスの確認
Dsetool ringコマンドを実行します。
dsetool ring
レプリケーション係数が不適切な場合、またはレプリカがダウンしている場合は、dsetool ringコマンドの出力に警告が含まれます。
Address DC Rack Workload Graph Status State Load Owns Token Health[0,1)
 -3074457345618258603
10.200.176.231 Analytics rack1 Analytics(TT) no Up Normal 221.96 KB 33.33% -9223372036854775808 0.98 
10.200.176.232 Analytics rack1 Analytics(TT) no Down Down 139.05 KB 33.33% 3074457345618258602 0.0 
10.200.176.233 Analytics rack1 Analytics(TT) no Up Normal 182.66 KB 33.33% -3074457345618258603 0.0 
Warning: only 0 of the 1 replicas for the HadoopJT.Analytics lease are alive. Sparkmaster/JobTracker nodes will not be elected until a quorum of live nodes is achieved. Increasing the replication factor of the dse_leases keyspace in this datacenter to 3 will increase reliability.
{10.200.176.232=DOWN}
自動Job TrackerまたはSparkマスター選出に失敗した場合は、dse_leasesキースペースに適切なレプリケーション係数が設定されていることを確認します。
cqlshコマンドを使用して、Analyticsキースペースのレプリケーション係数を確認する
  1. dse_leasesキースペースを記述します。
    cqlsh> DESCRIBE KEYSPACE dse_leases; CREATE KEYSPACE dse_leases WITH replication = {'class': 'NetworkTopologyStrategy', 'Analytics1': '1'} AND durable_writes = true;
  2. dse_leasesキースペースのレプリケーション係数を高くします。
    cqlsh> ALTER KEYSPACE dse_leases WITH replication = {'class': 'NetworkTopologyStrategy', 'Analytics1': '3', 'Analytics2':'3'} ;
  3. nodetool repairを実行します。
dse.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/dse.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/dse/conf/dse.yaml
logback.xmlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/cassandra/logback.xml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/cassandra/conf/logback.xml