Cloud Profiler 會持續收集及回報應用程式 CPU 使用率和記憶體分配資訊。
必要操作:
剖析器僅支援 Dataproc Hadoop 和 Spark 工作類型 (Spark、PySpark、SparkSql 和 SparkR)。
作業必須執行超過 3 分鐘,Profiler 才能收集資料並上傳至專案。
Dataproc 會辨識 cloud.profiler.enable
和其他 cloud.profiler.*
屬性 (請參閱「分析器選項」),然後將相關的分析器 JVM 選項附加至下列設定:
- Spark:
spark.driver.extraJavaOptions
和spark.executor.extraJavaOptions
- MapReduce:
mapreduce.task.profile
和其他mapreduce.task.profile.*
屬性
啟用剖析功能
完成下列步驟,即可在 Dataproc Spark 和 Hadoop 工作中啟用及使用 Profiler。
建立 Dataproc 叢集,並將服務帳戶範圍設為
monitoring
,允許叢集與剖析器服務通訊。如果您使用自訂 VM 服務帳戶,請將 Cloud Profiler 代理程式角色授予自訂 VM 服務帳戶。這個角色包含必要的剖析器服務權限。
gcloud
gcloud dataproc clusters create cluster-name \ --scopes=cloud-platform \ --region=region \ other args ...
提交 Dataproc 工作並設定分析器選項
- 提交 Dataproc Spark 或 Hadoop 工作,並使用下列一或多個分析器選項:
選項 說明 值 必要/選用 預設 附註 cloud.profiler.enable
啟用作業的剖析功能 true
或false
必填 false
cloud.profiler.name
用來在 Profiler 服務中建立設定檔的名稱 profile-name 選用 Dataproc 工作 UUID cloud.profiler.service.version
使用者提供的字串,用於識別及區分剖析器結果。 Profiler Service Version 選用 Dataproc 工作 UUID mapreduce.task.profile.maps
地圖工作對商家檔案的數值範圍 (例如:最多 100 個,請指定「0-100」) number range 選用 0-10000 僅適用於 Hadoop MapReduce 工作 mapreduce.task.profile.reduces
要剖析的縮減器工作數值範圍 (例如,如要剖析最多 100 個工作,請指定「0-100」) number range 選用 0-10000 僅適用於 Hadoop MapReduce 工作
PySpark 範例
Google Cloud CLI
提交 PySpark 工作並進行剖析的範例:
gcloud dataproc jobs submit pyspark python-job-file \ --cluster=cluster-name \ --region=region \ --properties=cloud.profiler.enable=true,cloud.profiler.name=profiler_name,cloud.profiler.service.version=version \ -- job args
系統會建立兩個設定檔:
profiler_name-driver
,用於剖析 Spark 驅動程式工作profiler_name-executor
,即可剖析 Spark 執行者工作
舉例來說,如果 profiler_name
是「spark_word_count_job」,系統就會建立 spark_word_count_job-driver
和 spark_word_count_job-executor
設定檔。
Hadoop 範例
gcloud CLI
以下是提交 Hadoop (teragen mapreduce) 工作並進行剖析的範例:
gcloud dataproc jobs submit hadoop \ --cluster=cluster-name \ --region=region \ --jar=jar-file \ --properties=cloud.profiler.enable=true,cloud.profiler.name=profiler_name,cloud.profiler.service.version=version \ -- teragen 100000 gs://bucket-name
查看設定檔
在 Google Cloud 控制台的「Profiler」中查看設定檔。