Untuk membantu menghindari timbulnya Google Cloud biaya bagi cluster yang tidak aktif, gunakan fitur Penghapusan Terjadwal Cluster Managed Service untuk Apache Spark saat Anda membuat cluster. Fitur ini menyediakan opsi untuk menghapus cluster saat peristiwa berikut terjadi:
- setelah periode tidak ada aktivitas pada cluster yang ditentukan
- pada waktu mendatang yang ditentukan
- setelah periode tertentu yang dimulai dari waktu pengiriman permintaan pembuatan cluster
Tindakan yang menonaktifkan penghapusan terjadwal
Saat cluster berjalan, tindakan berikut akan menonaktifkan penghapusan terjadwal hingga tindakan penonaktifan dibatalkan:
- Menghapus peran IAM Managed Service untuk Apache Spark Service Agent di akun layanan Dataproc Service Agent
- Menonaktifkan Dataproc API di project cluster
- Mengaktifkan proteksi dari penghapusan VM Compute Engine di VM cluster penghapusan terjadwal
- Mengaktifkan Kontrol Layanan VPC jika akun layanan Managed Service untuk Apache Spark Service Agent (Identitas bidang kontrol) tidak berada dalam batas perimeter
Menghitung waktu tidak ada aktivitas pada cluster
Anda dapat menggunakan penghapusan terjadwal untuk menghapus cluster setelah waktu tidak ada aktivitas pada cluster yang ditentukan. Waktu tidak ada aktivitas dihitung setelah cluster dibuat dan penyediaan cluster selesai. Perhitungan waktu tidak ada aktivitas dimulai saat cluster tidak memiliki tugas yang berjalan.
Properti cluster dataproc:dataproc.cluster-ttl.consider-yarn-activity cluster
property
memengaruhi perhitungan waktu tidak ada aktivitas pada cluster, sebagai berikut:
- Properti ini diaktifkan (ditetapkan ke
true) secara default. - Jika properti ini diaktifkan, aktivitas YARN dan Dataproc Jobs API harus tidak ada aktivitas untuk memulai dan terus menambah perhitungan waktu tidak ada aktivitas pada cluster.
- Aktivitas YARN mencakup aplikasi YARN yang tertunda dan berjalan.
- Aktivitas Dataproc Jobs API mencakup tugas yang tertunda dan berjalan yang dikirimkan ke Dataproc Jobs API.
- Jika properti ini ditetapkan ke
false, perhitungan waktu tidak ada aktivitas pada cluster dimulai dan berlanjut hanya jika aktivitas Dataproc Jobs API tidak ada aktivitas.
Properti dataproc:dataproc.cluster-ttl.consider-yarn-activity berlaku untuk cluster yang dibuat dengan versi image yang dirilis pada atau setelah 1.4.64, 1.5.39, 2.0.13, dan versi image yang lebih baru. Untuk cluster yang dibuat dengan versi image sebelumnya, hanya aktivitas Dataproc Jobs API yang dipertimbangkan dalam menghitung waktu tidak ada aktivitas pada cluster.
Menggunakan penghapusan terjadwal cluster
Anda dapat menetapkan nilai penghapusan terjadwal saat membuat cluster menggunakan Google Cloud CLI, Dataproc API, atau Google Cloud konsol. Setelah membuat cluster, Anda dapat mengupdate cluster untuk mengubah atau menghapus nilai penghapusan terjadwal yang sebelumnya ditetapkan di cluster.
Google Cloud Konsol
- Buka halaman Create cluster.
- Di bagian Define cost control settings , pilih Set an optional retention policy to control costs, lalu pilih setelan penghapusan terjadwal (atau penghentian terjadwal).
gcloud CLI
Anda dapat membuat atau mengupdate nilai penghapusan terjadwal di cluster dengan meneruskan
flag dan nilai yang tercantum dalam tabel berikut ke perintah
gcloud dataproc clusters create
atau gcloud dataproc clusters update
| Flag gcloud CLI | Deskripsi | Perincian nilai | Nilai min | Nilai maks. |
|---|---|---|---|---|
--delete-max-idle1 |
Berlaku untuk perintah pembuatan cluster dan update cluster.
Durasi dari waktu saat cluster tidak ada aktivitas setelah the
cluster dibuat atau diupdate dan dalam status siap digunakan hingga the
saat cluster mulai dihapus. Berikan durasi dalam
IntegerUnit format, dengan unit dapat berupa "s, m, h, d"
(detik, menit, jam, hari). Contoh: "30m": 30 menit dari saat
cluster tidak ada aktivitas. |
1 detik | 5 menit | 14 hari |
--no-delete-max-idle |
Hanya berlaku untuk perintah update cluster.
Membatalkan penghapusan cluster berdasarkan setelan flag delete-max-idle
sebelumnya. |
tidak berlaku | tidak berlaku | tidak berlaku |
--delete-expiration-time2 |
Berlaku untuk perintah pembuatan cluster dan update cluster. Waktu untuk mulai menghapus cluster dalam format tanggal dan waktu ISO 8601. Untuk membuat tanggal dan waktu dalam format yang benar, Anda dapat menggunakan Timestamp Generator. Misalnya, "2017-08-22T13:31:48-08:00" menentukan waktu habis masa berlaku 13:21:48 di zona waktu UTC -8:00. | 1 detik | 10 menit dari waktu saat ini | 14 hari dari waktu saat ini |
--delete-max-age2 |
Berlaku untuk perintah pembuatan cluster dan update cluster.
Durasi dari saat pengiriman permintaan pembuatan cluster hingga
saat cluster mulai dihapus. Berikan durasi dalam
IntegerUnit format, dengan unit dapat berupa "s, m, h, d"
(detik, menit, jam, hari). Contoh: "30m": 30 menit dari sekarang;
"1d": 1 hari dari sekarang. |
1 detik | 10 menit | 14 hari |
--no-delete-max-age |
Hanya berlaku untuk perintah update cluster.
Membatalkan penghapusan otomatis cluster berdasarkan setelan flag
delete-max-age atau delete-expiration-time sebelumnya. |
Tidak berlaku | Tidak berlaku | Tidak berlaku |
- Anda dapat meneruskan flag
delete-max-idledengan flagdelete-expiration-timeataudelete-max-agedalam permintaan pembuatan atau update cluster. Yang pertama menjadi benar akan berlaku untuk menghapus cluster. - Anda dapat meneruskan flag
delete-expiration-timeatau flagdelete-max-ageke perintah pembuatan atau update cluster, tetapi tidak keduanya.
Contoh pembuatan cluster:
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --delete-max-idle=DURATION \ --delete-expiration-time=TIME \ ... other flags ...
Contoh update cluster:
gcloud dataproc clusters update CLUSTER_NAME \ --region=REGION \ --delete-max-idle=DURATION \ --no-delete-max-age \ ... other flags
REST API
Anda dapat membuat atau mengupdate nilai penghapusan terjadwal di cluster dengan menetapkan kolom dan nilai ClusterLifecycleConfig Dataproc API ClusterLifecycleConfig yang tercantum dalam tabel berikut sebagai bagian dari permintaan API cluster.create atau cluster.patch Managed Service untuk Apache Spark.
| Kolom API | Deskripsi | Perincian nilai | Nilai min | Nilai maks. |
|---|---|---|---|---|
idleDeleteTtl1 |
Berlaku untuk perintah pembuatan cluster dan update cluster.
Durasi dari waktu saat cluster tidak ada aktivitas setelah the
cluster dibuat atau diupdate dan dalam status siap digunakan hingga the
saat cluster mulai dihapus. Saat
mengupdate cluster dengan nilai baru, nilai baru harus lebih besar dari nilai yang ditetapkan sebelumnya.
Berikan durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan
's'. Contoh: "3.5s".
Kirim durasi kosong untuk membatalkan nilai idleDeleteTtl yang ditetapkan sebelumnya. |
1 detik | 5 menit | 14 hari |
autoDeleteTime2 |
Berlaku untuk perintah pembuatan cluster dan update cluster.
Waktu untuk mulai menghapus cluster. Saat mengupdate cluster dengan waktu baru,
waktu baru harus lebih lambat dari waktu yang ditetapkan sebelumnya. Saat mengupdate, jika
nilai kosong ditetapkan untuk autoDeleteTime, penghapusan otomatis yang
ada akan dibatalkan.Berikan stempel waktu dalam RFC 3339 format UTC "Zulu", akurat hingga nanodetik. Contoh: "2014-10-02T15:01:23.045123456Z". |
1 detik | 10 menit dari waktu saat ini | 14 hari dari waktu saat ini |
autoDeleteTtl2 |
Durasi dari saat pengiriman permintaan pembuatan atau update cluster
hingga saat cluster mulai dihapus. Saat mengupdate cluster,
waktu penghapusan terjadwal baru (waktu permintaan update ditambah
durasi baru) harus lebih lambat dari waktu penghapusan cluster yang
ditetapkan sebelumnya. Kirim nilai kosong
untuk membatalkan nilai autoDeleteTtl yang ditetapkan sebelumnya.
Berikan durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'.
Contoh: "3.5s". |
1 detik | 10 menit | 14 hari |
- Anda dapat menetapkan atau mengupdate
idleDeleteTtldanautoDeleteTimeatauautoDeleteTtldalam permintaan pembuatan atau update cluster. Yang pertama menjadi benar akan berlaku untuk menghapus cluster. - Anda dapat menetapkan atau mengupdate
autoDeleteTimeatauautoDeleteTtldalam permintaan, tetapi tidak keduanya.
Melihat setelan cluster Penghapusan Terjadwal
Google Cloud Konsol
- Anda dapat melihat setelan penghapusan terjadwal cluster dengan memilih nama cluster dari Managed Service untuk Apache Spark halaman Cluster di Google Cloud konsol.
- Dari halaman detail cluster, pilih tab Configuration. Buka daftar konfigurasi cluster untuk melihat setelan penghapusan terjadwal.
gcloud CLI
Anda dapat menggunakan perintah gcloud dataproc clusters list untuk
mengonfirmasi bahwa cluster telah mengaktifkan penghapusan terjadwal.
gcloud dataproc clusters list \ --region=REGION
... NAME WORKER_COUNT ... SCHEDULED_DELETE CLUSTER_ID NUMBER ... enabled ...
Anda dapat menggunakan perintah gcloud dataproc clusters describe untuk memeriksa setelan penghapusan terjadwal LifecycleConfig cluster.
gcloud dataproc clusters describe CLUSTER_NAME \ --region=REGION
... lifecycleConfig: autoDeleteTime: '2018-11-28T19:33:48.146Z' idleDeleteTtl: 1800s idleStartTime: '2018-11-28T18:33:48.146Z' ...
autoDeleteTime dan idleDeleteTtl adalah nilai konfigurasi penghapusan terjadwal yang ditetapkan di cluster.
Managed Service untuk Apache Spark menghasilkan nilai idleStartTime, yang merupakan waktu mulai tidak ada aktivitas pada cluster terbaru. Managed Service untuk Apache Spark menghapus
cluster jika cluster tetap tidak ada aktivitas pada idleStartTime +
idleDeleteTtl.
REST API
Anda dapat membuat clusters.list untuk mengonfirmasi bahwa cluster telah mengaktifkan penghapusan terjadwal.