Sparkパフォーマンス・オブジェクトによるSparkの監視

Spark分析ジョブを監視して調整できるようにするために、パフォーマンス・データはテーブルに格納されます。

Performance Serviceでは、SparkクラスターとSparkアプリケーションに関連するデータを収集し、Cassandraのテーブルに保存できます。これにより、DSE Analyticsアプリケーションのパフォーマンス調整とボトルネックに対するメトリクスの監視が可能になります。

クラスターで権限管理が有効になっている場合、Sparkアプリケーションを実行するユーザーに、dse_system.spark_metrics_configテーブルへのSELECTパーミッションと、dse_perf.spark_apps_snapshotへのMODIFYパーミッションを付与する必要があります。

Sparkクラスター情報の監視

Performance Serviceは、DSE Analyticsクラスターに関する情報をdse_perf.spark_cluster_snapshotテーブルに格納します。クラスター・パフォーマンス・オブジェクトは、コア、メモリー、ワーカーなど、使用可能なリソースと使用済みのリソースを、アプリケーションの数、各アプリケーションの状態、アプリケーションが実行されているホストなど、すべての登録済みSparkアプリケーション、ドライバー、およびエグゼキューターに関する全体的な情報とともに、クラスターに格納します。

Sparkクラスター情報の収集を有効にするには、dse.yamlspark_cluster_info_optionsセクションのオプションを構成します。

表 1. Sparkクラスター情報オプション
オプション デフォルト値 説明
enabled false Sparkクラスター情報の収集を有効または無効にします。
refresh_rate_ms 10,000 データを収集し、格納する時間(単位はミリ秒)。

dse_perf.spark_cluster_snapshotテーブルには以下のカラムがあります。

name
クラスター名。
active_apps
クラスター内でアクティブなアプリケーションの数。
active_drivers
クラスター内でアクティブなドライバーの数。
completed_apps
クラスター内で完了したアプリケーションの数。
completed_drivers
クラスター内で完了したドライバーの数。
executors
クラスター内のSparkエグゼキューターの数。
master_address
Sparkマスター・ノードのホスト名とポート番号。
master_recovery_state
マスター・ノードの状態。
nodes
クラスター内のノードの数。
total_cores
クラスター内のすべてのノードで使用可能なコアの合計数。
total_memory_mb
クラスターで使用可能なメモリーの合計容量(単位はMB)。
used_cores
クラスターで現在使用されているコアの合計数。
used_memory_mb
クラスターで使用されているメモリーの合計容量(単位はMB)。
workers
クラスター内のSparkワーカーの総数。

Sparkアプリケーション情報の監視

Sparkアプリケーションのパフォーマンス情報は、アプリケーションごとに格納され、タスクが終了すると更新されます。これはdse_perf.spark_apps_snapshotテーブルに格納されます。

Sparkアプリケーション情報の収集を有効にするには、dse.yamlspark_application_info_optionsセクションのオプションを構成します。

表 2. Sparkアプリケーション情報オプション
オプション デフォルト 説明
enabled false Sparkアプリケーション情報の収集を有効または無効にします。
refresh_rate_ms 10,000 データを収集し、格納する時間(単位はミリ秒)。

spark_application_info_optionsdriverサブセクションで、Sparkドライバーによって収集されるメトリクスを制御します。

表 3. Sparkドライバー情報オプション
オプション デフォルト 説明
sink false Sparkドライバーからのメトリクスの収集を有効または無効にします。
connectorSource false Spark Cassandra Connectorメトリクスの収集を有効または無効にします。
jvmSource false SparkドライバーからのJVMヒープおよびガーベージ・コレクション・メトリクスの収集を有効または無効にします。
stateSource false アプリケーション状態メトリクスの収集を有効または無効にします。

spark_application_info_optionsexecutorサブセクションで、Sparkエグゼキューターによって収集されるメトリクスを制御します。

表 4. Sparkエグゼキューター情報オプション
オプション デフォルト 説明
sink false Sparkエグゼキューター・メトリクスの収集を有効または無効にします。
connectorSource false SparkエグゼキューターからのSpark Cassandra Connectorメトリクスの収集を有効または無効にします。
jvmSource false SparkエグゼキューターからのJVMヒープまたはガーベージ・コレクション・メトリクスの収集を有効または無効にします。

dse_perf.spark_apps_snapshotテーブルには以下のカラムがあります。

application_id
component_id
metric_id
count
metric_type
rate_15_min
rate_1_min
rate_5_min
rate_mean
snapshot_75th_percentile
snapshot_95th_percentile
snapshot_98th_percentile
snapshot_999th_percentile
snapshot_99th_percentile
snapshot_max
snapshot_mean
snapshot_median
snapshot_min
snapshot_stddev
value
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