Setelah membuat cluster Dataproc, Anda dapat menyesuaikan ("menskalakan") cluster dengan menambah atau mengurangi jumlah node pekerja primer atau sekunder (penskalaan horizontal) dalam cluster. Anda dapat menskalakan cluster Dataproc kapan saja, bahkan saat tugas berjalan di cluster. Anda tidak dapat mengubah jenis mesin cluster yang ada (penskalaan vertikal). Untuk melakukan penskalaan vertikal, buat cluster menggunakan jenis mesin yang didukung, lalu migrasikan tugas ke cluster baru.
Anda dapat menskalakan cluster Dataproc untuk hal berikut:
- untuk meningkatkan jumlah pekerja agar tugas berjalan lebih cepat.
- untuk mengurangi jumlah pekerja guna menghemat uang (lihat Penonaktifan yang Benar sebagai opsi yang dapat digunakan saat memperkecil ukuran cluster untuk menghindari hilangnya tugas yang sedang berjalan).
- untuk menambah jumlah node guna memperluas penyimpanan Hadoop Distributed File System (HDFS) yang tersedia.
Karena cluster dapat diubah skalanya lebih dari sekali, Anda mungkin ingin menambah atau mengurangi ukuran cluster sekaligus, lalu mengurangi atau menambah ukuran cluster nanti.
Menggunakan penskalaan
Ada tiga cara untuk menskalakan cluster Dataproc:
- Gunakan alat command line
gcloud
di gcloud CLI. - Edit konfigurasi cluster di konsolGoogle Cloud .
- Gunakan REST API.
Worker baru yang ditambahkan ke cluster akan menggunakan
jenis mesin
yang sama dengan worker yang ada. Misalnya, jika cluster dibuat dengan
worker yang menggunakan jenis mesin n1-standard-8
, worker baru
juga akan menggunakan jenis mesin n1-standard-8
.
Anda dapat menskalakan jumlah pekerja utama atau jumlah pekerja sekunder (dapat di-preempt), atau keduanya. Misalnya, jika Anda hanya menskalakan jumlah pekerja yang dapat di-preempt, jumlah pekerja utama akan tetap sama.
gcloud
Untuk menskalakan cluster dengangcloud dataproc clusters update
,
jalankan perintah berikut:
gcloud dataproc clusters update cluster-name \ --region=region \ [--num-workers and/or --num-secondary-workers]=new-number-of-workers
gcloud dataproc clusters update dataproc-1 \ --region=region \ --num-workers=5 ... Waiting on operation [operations/projects/project-id/operations/...]. Waiting for cluster update operation...done. Updated [https://dataproc.googleapis.com/...]. clusterName: my-test-cluster ... masterDiskConfiguration: bootDiskSizeGb: 500 masterName: dataproc-1-m numWorkers: 5 ... workers: - my-test-cluster-w-0 - my-test-cluster-w-1 - my-test-cluster-w-2 - my-test-cluster-w-3 - my-test-cluster-w-4 ...
REST API
Lihat clusters.patch.
Contoh
PATCH /v1/projects/project-id/regions/us-central1/clusters/example-cluster?updateMask=config.worker_config.num_instances,config.secondary_worker_config.num_instances { "config": { "workerConfig": { "numInstances": 4 }, "secondaryWorkerConfig": { "numInstances": 2 } }, "labels": null }
Konsol
Setelah cluster dibuat, Anda dapat menskalakan cluster dengan membuka halaman Cluster details untuk cluster dari halaman Clusters di Google Cloud console, lalu mengklik tombol Edit di tab Configuration.

Cara Dataproc memilih node cluster untuk dihapus
Pada cluster yang dibuat dengan versi image 1.5.83+, 2.0.57+, dan 2.1.5+, saat menskalakan cluster, Dataproc akan mencoba meminimalkan dampak penghapusan node pada aplikasi YARN yang sedang berjalan dengan terlebih dahulu menghapus node yang tidak aktif, tidak sehat, dan tidak digunakan, lalu menghapus node dengan master aplikasi YARN yang sedang berjalan dan container yang sedang berjalan paling sedikit.
Penghentian tuntas
Saat Anda menurunkan skala cluster, pekerjaan yang sedang berlangsung dapat berhenti sebelum selesai. Jika Anda menggunakan Dataproc v 1.2 atau yang lebih baru, Anda dapat menggunakan Penonaktifan yang Baik, yang menggabungkan Penonaktifan yang Baik untuk Node YARN untuk menyelesaikan pekerjaan yang sedang berlangsung di pekerja sebelum dihapus dari cluster Cloud Dataproc.
Penghentian tuntas dan pekerja sekunder
Grup pekerja yang dapat di-preempt (sekunder) terus menyediakan atau menghapus pekerja untuk mencapai ukuran yang diharapkan meskipun setelah operasi penskalaan cluster ditandai selesai. Jika Anda mencoba menonaktifkan pekerja sekunder dengan benar
dan menerima pesan error yang serupa dengan berikut ini:
"Grup
pekerja sekunder tidak dapat diubah di luar Dataproc. Jika Anda baru-baru ini membuat atau memperbarui cluster ini, tunggu beberapa menit sebelum menonaktifkan secara benar untuk memungkinkan semua instance sekunder bergabung atau keluar dari cluster.
Ukuran grup pekerja sekunder yang diharapkan: x, ukuran sebenarnya: y",
tunggu beberapa menit, lalu ulangi permintaan penonaktifan yang benar.
Gunakan penghentian tuntas
Penghentian Tuntas Dataproc menggabungkan Penghentian Tuntas Node YARN untuk menyelesaikan pekerjaan yang sedang berlangsung di pekerja sebelum dihapus dari cluster Cloud Dataproc. Secara default, penghentian tuntas dinonaktifkan. Anda dapat mengaktifkannya dengan menetapkan nilai waktu tunggu saat Anda mengupdate cluster untuk menghapus satu atau beberapa worker dari cluster.
gcloud
Saat mengupdate cluster untuk menghapus satu atau beberapa pekerja, gunakan perintah gcloud dataproc clusters update dengan flag--graceful-decommission-timeout
. Nilai waktu tunggu
(string) dapat berupa nilai "0s" (default; penonaktifan paksa, bukan penonaktifan yang benar) atau durasi positif relatif terhadap waktu saat ini (misalnya, "3s").
Durasi maksimumnya adalah 1 hari.
gcloud dataproc clusters update cluster-name \ --region=region \ --graceful-decommission-timeout="timeout-value" \ [--num-workers and/or --num-secondary-workers]=decreased-number-of-workers \ ... other args ...
REST API
Lihat clusters.patch.gracefulDecommissionTimeout. Nilai waktu tunggu (string) dapat berupa nilai "0" (default; penonaktifan paksa, bukan penonaktifan yang benar) atau durasi dalam detik (misalnya, "3s"). Durasi maksimumnya adalah 1 hari.Konsol
Setelah cluster dibuat, Anda dapat memilih penonaktifan cluster yang benar dengan membuka halaman Detail cluster untuk cluster dari halaman Cluster di konsolGoogle Cloud , lalu mengklik tombol Edit di tab Konfigurasi.

Membatalkan operasi pengurangan skala penghentian tuntas
Pada cluster Dataproc yang dibuat dengan versi image
2.0.57+
atau 2.1.5+,
Anda dapat menjalankan perintah gcloud dataproc operations cancel
atau mengirimkan permintaan
operations.cancel
Dataproc API untuk membatalkan operasi penurunan skala penghentian tuntas.
Saat Anda membatalkan operasi pengurangan skala penghentian tuntas:
Pekerja dalam status
DECOMMISSIONING
akan diaktifkan kembali dan menjadiACTIVE
setelah pembatalan operasi selesai.Jika operasi pengurangan skala mencakup update label, update tersebut mungkin tidak diterapkan.
Untuk memverifikasi status permintaan pembatalan, Anda dapat menjalankan perintah gcloud dataproc operations describe
atau mengeluarkan permintaan operations.get
Dataproc API. Jika operasi pembatalan berhasil, status operasi dalam akan ditandai
sebagai CANCELLED
.