Cloud Profiler

Cloud Profiler terus mengumpulkan dan melaporkan informasi penggunaan CPU dan alokasi memori aplikasi.

Persyaratan:

  • Profiler hanya mendukung jenis tugas Hadoop dan Spark Dataproc (Spark, PySpark, SparkSql, dan SparkR).

  • Tugas harus berjalan lebih dari 3 menit agar Profiler dapat mengumpulkan dan mengupload data ke project Anda.

Dataproc mengenali cloud.profiler.enable dan properti cloud.profiler.* lainnya (lihat Profiler options), lalu menambahkan opsi JVM profiler yang relevan ke konfigurasi berikut:

  • Spark: spark.driver.extraJavaOptions dan spark.executor.extraJavaOptions
  • MapReduce: Properti mapreduce.task.profile dan mapreduce.task.profile.* lainnya

Mengaktifkan pembuatan profil

Selesaikan langkah-langkah berikut untuk mengaktifkan dan menggunakan Profiler pada tugas Dataproc Spark dan Hadoop.

  1. Aktifkan Profiler.

  2. Buat cluster Dataproc dengan cakupan akun layanan ditetapkan ke monitoring untuk mengizinkan cluster berkomunikasi dengan layanan profiler.

  3. Jika Anda menggunakan akun layanan VM kustom, berikan peran Cloud Profiler Agent ke akun layanan VM kustom. Peran ini berisi izin layanan profiler yang diperlukan.

gcloud

gcloud dataproc clusters create cluster-name \
    --scopes=cloud-platform \
    --region=region \
    other args ...

Mengirimkan tugas Dataproc dengan opsi Profiler

  1. Kirimkan tugas Dataproc Spark atau Hadoop dengan satu atau beberapa opsi Profiler berikut:
    Opsi Deskripsi Nilai Wajib/Opsional Default Catatan
    cloud.profiler.enable Mengaktifkan pembuatan profil tugas true atau false Wajib false
    cloud.profiler.name Nama yang digunakan untuk membuat profil di Layanan Profiler profile-name Opsional UUID tugas Dataproc
    cloud.profiler.service.version String yang disediakan pengguna untuk mengidentifikasi dan membedakan hasil profiler. Profiler Service Version Opsional UUID tugas Dataproc
    mapreduce.task.profile.maps Rentang numerik tugas peta ke profil (contoh: untuk maksimal 100, tentukan "0-100") number range Opsional 0-10000 Hanya berlaku untuk tugas mapreduce Hadoop
    mapreduce.task.profile.reduces Rentang numerik tugas reducer untuk dibuat profilnya (contoh: untuk maksimal 100, tentukan "0-100") number range Opsional 0-10000 Hanya berlaku untuk tugas mapreduce Hadoop

Contoh PySpark

Google Cloud CLI

Kirim tugas PySpark dengan contoh pembuatan profil:

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

Dua profil akan dibuat:

  1. profiler_name-driver untuk membuat profil tugas driver spark
  2. profiler_name-executor untuk membuat profil tugas eksekutor spark

Misalnya, jika profiler_name adalah "spark_word_count_job", profil spark_word_count_job-driver dan spark_word_count_job-executor akan dibuat.

Contoh Hadoop

gcloud CLI

Kiriman tugas Hadoop (teragen mapreduce) dengan contoh pembuatan profil:

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

Lihat profil

Lihat profil dari Profiler di konsol Google Cloud.

Langkah berikutnya