Setelah membuat cluster Dataproc, Anda dapat menyesuaikan ("menskalakan") cluster dengan menambah atau mengurangi jumlah node pekerja primer atau sekunder (penskalaan horizontal) di cluster. Anda dapat menskalakan cluster Dataproc kapan saja, bahkan saat tugas berjalan di cluster tersebut. Anda tidak dapat mengubah jenis mesin cluster yang ada (penskalaan vertikal). Untuk menskalakan secara vertikal, buat cluster menggunakan jenis mesin yang didukung, lalu migrasikan tugas ke cluster baru.
Mengapa perlu menskalakan cluster Dataproc?
- untuk meningkatkan jumlah pekerja agar tugas berjalan lebih cepat
- untuk mengurangi jumlah pekerja agar dapat menghemat uang (lihat Penghentian tuntas sebagai opsi untuk digunakan saat menurunkan ukuran cluster agar tidak kehilangan pekerjaan yang sedang berlangsung).
- untuk meningkatkan jumlah node guna memperluas penyimpanan Hadoop Distributed Filesystem (HDFS) yang tersedia
Karena cluster dapat diskalakan lebih dari sekali, Anda dapat meningkatkan/mengurangi ukuran cluster sekaligus, lalu mengurangi/meningkatkan ukurannya nanti.
Menggunakan Penskalaan
Ada tiga cara untuk menskalakan cluster Dataproc Anda:
- Gunakan alat command line
gcloud
di gcloud CLI. - Edit konfigurasi cluster di Google Cloud Console.
- Gunakan REST API.
Pekerja baru yang ditambahkan ke cluster akan menggunakan jenis mesin yang sama dengan pekerja yang ada. Misalnya, jika cluster dibuat dengan
pekerja yang menggunakan jenis mesin n1-standard-8
, pekerja baru
juga akan menggunakan jenis mesin n1-standard-8
.
Anda dapat menskalakan jumlah pekerja utama atau jumlah pekerja sekunder (preemptible), atau keduanya. Misalnya, jika Anda hanya menskalakan jumlah pekerja yang dapat dihentikan, jumlah pekerja utama tetap sama.
gcloud
Untuk menskalakan cluster dengan gcloud dataproc cluster 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 Detail cluster untuk cluster tersebut dari halaman Clusters di Google Cloud Console, lalu mengklik tombol Edit di tab Konfigurasi. Masukkan nilai baru untuk jumlah node Pekerja dan/atau Node pekerja yang dapat dihentikan (masing-masing diperbarui menjadi "5" dan "2", di screenshot berikut). Klik Simpan untuk mengupdate cluster.Cara Dataproc memilih node cluster untuk dihapus
Pada cluster yang dibuat dengan versi gambar 1.5.83+, 2.0.57+, dan 2.1.5+, saat memperkecil cluster, Dataproc mencoba meminimalkan dampak penghapusan node terhadap aplikasi YARN yang berjalan dengan terlebih dahulu menghapus node yang tidak aktif, tidak responsif, dan tidak ada aktivitas, lalu menghapus node yang memiliki master aplikasi YARN yang paling sedikit berjalan dan container yang berjalan.
Penghentian Tuntas
Saat Anda mengurangi skala cluster, pekerjaan yang sedang berlangsung mungkin akan berhenti sebelum selesai. Jika Anda menggunakan Dataproc v 1.2 atau yang lebih baru, Anda dapat menggunakan Penghentian tuntas, yang menggabungkan Penghentian Baik Node YARN untuk menyelesaikan pekerjaan yang sedang berlangsung pada pekerja sebelum dihapus dari cluster Cloud Dataproc.
Penghentian tuntas dan Pekerja Sekunder
Grup pekerja yang dapat dihentikan (sekunder) terus menyediakan atau menghapus
pekerja untuk mencapai ukuran yang diharapkan, bahkan setelah operasi penskalaan cluster
ditandai selesai. Jika Anda berupaya menonaktifkan pekerja sekunder dengan baik dan menerima pesan error yang mirip dengan berikut ini:
"Grup pekerja sekunder tidak dapat diubah di luar Dataproc. Jika Anda baru saja membuat atau memperbarui cluster ini, tunggu beberapa menit sebelum menghentikannya dengan baik agar semua instance sekunder dapat bergabung atau keluar dari cluster.
Ukuran grup pekerja sekunder yang diharapkan: x, ukuran sebenarnya: y",
tunggu
beberapa menit, lalu ulangi permintaan penghentian tuntas.
Perhatikan juga:
- Anda dapat menonaktifkan pekerja preemptible secara paksa kapan saja.
- Anda menghentikan pekerja utama dengan baik kapan saja
Menggunakan Penghentian tuntas
Dataproc Graceful Decommissioning menggabungkan Penghentian tuntas YARN Node untuk menyelesaikan pekerjaan yang sedang berlangsung pada pekerja sebelum dihapus dari cluster Cloud Dataproc. Sebagai default, penghentian tuntas dinonaktifkan. Anda dapat mengaktifkannya dengan menyetel nilai waktu tunggu saat mengupdate cluster untuk menghapus satu atau beberapa pekerja dari cluster.
gcloud
Saat mengupdate cluster untuk menghapus satu atau beberapa pekerja, gunakan perintah gcloud dataproc cluster update dengan flag--graceful-decommission-timeout
. Nilai waktu tunggu
(string) dapat berupa nilai "0s" (default; penonaktifan paksa
tidak halus) atau durasi positif yang terkait dengan waktu saat ini (misalnya, "3s").
Durasi maksimum 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 tidak halus) atau durasi dalam detik (misalnya, "3s"). Durasi maksimum adalah 1 hari.Konsol
Setelah cluster dibuat, Anda dapat memilih penghentian tuntas cluster dengan membuka halaman Detail cluster untuk cluster tersebut dari halaman Clusters Google Cloud Console, lalu mengklik tombol Edit di tab Konfigurasi. Di bagian Graceful Decommissioning, centang kotak "Use aktual decommissioning", lalu pilih nilai waktu tunggu. Klik Simpan untuk mengupdate cluster.Cara membatalkan operasi scaledown penghentian halus
Pada cluster Dataproc yang dibuat dengan image versi 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 secara halus.
Jika Anda membatalkan operasi scaledown penghentian halus:
pekerja dalam status
DECOMMISSIONING
ditugaskan kembali dan menjadiACTIVE
saat penyelesaian pembatalan operasi.jika operasi scaledown menyertakan pembaruan label, pembaruan tersebut mungkin tidak akan 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 internal akan ditandai sebagai CANCELLED.