Sparkパフォーマンス・オブジェクトによるSparkの監視
Spark分析ジョブを監視して調整できるようにするために、パフォーマンス・データはテーブルに格納されます。
dse.yaml
dse.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/dse.yaml |
tarボール・インストール | installation_location/resources/dse/conf/dse.yaml |
Performance Service(パフォーマンス・サービス)では、SparkクラスターとSparkアプリケーションに関連するデータを収集し、テーブルに保存できます。これにより、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クラスター情報の収集を有効にするには、spark_cluster_info_optionsセクションでオプションを構成します。このセクションは、dse.yamlファイルにあります。
オプション | デフォルト値 | 説明 |
---|---|---|
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アプリケーション情報を有効にするには、spark_application_info_optionsセクションでオプションを構成します。このセクションは、dse.yamlファイルにあります。
オプション | デフォルト | 説明 |
---|---|---|
enabled | false | Sparkアプリケーション情報の収集を有効または無効にします。 |
refresh_rate_ms | 10,000 | データを収集し、格納する時間(単位はミリ秒)。 |
spark_application_info_optionsのdriverサブセクションで、Sparkドライバーによって収集されるメトリクスを制御します。
オプション | デフォルト | 説明 |
---|---|---|
sink | false | Sparkドライバーからのメトリクスの収集を有効または無効にします。 |
connectorSource | false | Spark Cassandra Connectorメトリクスの収集を有効または無効にします。 |
jvmSource | false | SparkドライバーからのJVMヒープおよびガーベージ・コレクション・メトリクスの収集を有効または無効にします。 |
stateSource | false | アプリケーション状態メトリクスの収集を有効または無効にします。 |
spark_application_info_optionsのexecutorサブセクションで、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