Cloud Profiler

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

Persyaratan:

  • Profiler hanya mendukung jenis tugas Dataproc Hadoop dan Spark (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 Opsi profiler), 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 Anda.

  1. Aktifkan Profiler.

  2. Buat cluster Dataproc dengan cakupan akun layanan yang ditetapkan ke monitoring agar cluster dapat 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 Spark atau Hadoop Dataproc 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 Profiler Service 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 hingga 100, tentukan "0-100") number range Opsional 0-10000 Hanya berlaku untuk tugas mapreduce Hadoop
    mapreduce.task.profile.reduces Rentang numerik tugas reducer yang akan diukur profilnya (contoh: untuk hingga 100, tentukan "0-100") number range Opsional 0-10000 Hanya berlaku untuk tugas mapreduce Hadoop

Contoh PySpark

Google Cloud CLI

Contoh pengiriman tugas PySpark dengan 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 memprofilkan tugas driver spark
  2. profiler_name-executor untuk memprofilkan 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

Pengiriman 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 selanjutnya