Cloud Profiler

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

Persyaratan:

  • Profiler hanya mendukung jenis tugas Hadoop dan Spark Managed Service untuk Apache Spark (Spark, PySpark, SparkSql, dan SparkR).

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

Managed Service untuk Apache Spark 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: mapreduce.task.profile dan properti mapreduce.task.profile.* lainnya

Mengaktifkan pembuatan profil

Selesaikan langkah-langkah berikut untuk mengaktifkan dan menggunakan Profiler pada tugas Spark dan Hadoop Managed Service untuk Apache Spark.

  1. Aktifkan Profiler.

  2. Buat cluster Managed Service untuk Apache Spark 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 Agen Cloud Profiler 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 Managed Service untuk Apache Spark dengan opsi Profiler

  1. Kirim tugas Spark atau Hadoop Managed Service untuk Apache Spark 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 Managed Service untuk Apache Spark
    cloud.profiler.service.version String yang diberikan pengguna untuk mengidentifikasi dan membedakan hasil profiler. Profiler Service Version Opsional UUID tugas Managed Service untuk Apache Spark
    mapreduce.task.profile.maps Rentang numerik tugas peta untuk pembuatan 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 pereduksi untuk pembuatan profil (contoh: untuk maksimal 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 membuat profil tugas driver spark
  2. profiler_name-executor untuk membuat profil tugas eksekutor spark

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

Contoh Hadoop

gcloud CLI

Contoh pengiriman tugas Hadoop (teragen mapreduce) dengan 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

Melihat profil

Lihat profil dari Profiler di konsol Google Cloud .

Langkah berikutnya