Flexible VM adalah fitur Dataproc yang memungkinkan Anda menentukan daftar jenis VM yang diprioritaskan untuk pekerja sekunder Dataproc saat Anda membuat cluster Dataproc.
Mengapa menggunakan VM fleksibel?
Sebelumnya, jika jenis VM tidak tersedia saat Anda mengirimkan permintaan pembuatan cluster, permintaan akan gagal, dan Anda perlu memperbarui permintaan, skrip, atau kode untuk menentukan jenis VM "terbaik berikutnya". Proses permintaan ulang ini dapat melibatkan beberapa iterasi hingga Anda menentukan jenis VM yang tersedia.
Fitur VM Fleksibel Dataproc membantu permintaan pembuatan cluster Anda berhasil dengan memilih jenis VM pekerja sekunder dari daftar VM yang diberi peringkat, lalu menelusuri zona dalam region cluster yang ditentukan dengan ketersediaan jenis VM yang tercantum.
Terminologi
Jenis VM: Grup, kapasitas memori, dan jumlah core CPU instance VM. Dataproc mendukung penggunaan jenis VM standar dan kustom.
Pekerja sekunder: Pekerja sekunder tidak menyimpan data. Node ini hanya berfungsi sebagai node pemrosesan. Anda dapat menggunakan pekerja sekunder untuk menskalakan komputasi tanpa menskalakan penyimpanan.
Batasan dan pertimbangan
VM fleksibel tersedia di versi image Dataproc on Compute Engine
2.0.74+
,2.1.22+
, dan yang lebih baru.Anda dapat menentukan VM fleksibel hanya untuk pekerja sekunder.
Anda dapat menentukan hingga lima daftar jenis VM yang diberi peringkat, dengan maksimal 10 jenis VM dalam daftar. Untuk mengetahui informasi selengkapnya, lihat Cara meminta VM fleksibel.
Pembuatan cluster dengan VM fleksibel memerlukan penggunaan penempatan zona otomatis Dataproc, yang memungkinkan Dataproc memilih zona yang memiliki kapasitas untuk memenuhi permintaan jenis VM Anda.
Jika permintaan pembuatan cluster Anda menyertakan kebijakan penskalaan otomatis, VM fleksibel dapat berasal dari berbagai keluarga VM, tetapi harus memiliki jumlah memori dan core yang sama.
Saat menyediakan VM fleksibel, Dataproc menggunakan pemesanan "yang cocok" yang tersedia, tetapi tidak menggunakan pemesanan "tertentu" (lihat Menggunakan instance yang direservasi). Jenis mesin yang cocok dengan reservasi pertama kali dipilih dalam peringkat, diikuti dengan jenis VM dengan jumlah CPU terbesar.
Dataproc menerapkan kuota Google Cloud untuk penyediaan VM fleksibel.
Meskipun Anda dapat menentukan rasio CPU-ke-memori yang berbeda untuk jenis V pekerja utama dan sekunder dalam cluster, hal ini dapat menyebabkan penurunan performa karena rasio CPU-ke-memori terkecil digunakan sebagai unit penampung terkecil.
Jika Anda memperbarui cluster yang dibuat menggunakan VM fleksibel, Dataproc akan memilih dan menambahkan pekerja dari daftar VM fleksibel yang Anda berikan saat membuat cluster.
Cara meminta VM fleksibel
Anda dapat menentukan VM fleksibel saat membuat cluster Dataproc menggunakan konsol Google Cloud, Google Cloud CLI, atau Dataproc API.
- Anda dapat menentukan hingga lima daftar jenis VM yang diberi peringkat, dengan maksimal 10 jenis VM dalam daftar. Daftar dengan peringkat terendah memiliki prioritas tertinggi. Secara default, daftar VM fleksibel memiliki peringkat 0. Dalam daftar, Dataproc memprioritaskan jenis VM dengan pemesanan yang tidak digunakan, diikuti dengan ukuran VM terbesar. Jenis VM dalam daftar dengan jumlah CPU yang sama diperlakukan secara setara.
Konsol
Untuk membuat cluster dengan VM fleksibel pekerja sekunder:
Buka halaman Dataproc Create a cluster on Compute Engine di konsol Google Cloud.
Panel Siapkan cluster dipilih dengan kolom yang diisi dengan nilai default. Anda dapat mengubah nama yang disarankan dan region cluster, serta membuat perubahan lainnya. Pastikan Any dipilih sebagai Zone cluster untuk mengizinkan penempatan zona otomatis Dataproc memilih zona yang memiliki ketersediaan terbaik untuk jenis VM yang ditentukan dalam daftar VM fleksibel Anda.
Pilih panel Configure nodes. Di bagian Secondary worker nodes, tentukan jumlah dan preemptibility pekerja sekunder.
- Klik Tambahkan pekerja sekunder untuk setiap tingkat pekerja sekunder, yang menentukan satu atau beberapa jenis mesin yang akan disertakan dalam setiap tingkat.
Setelah mengonfirmasi dan menentukan detail cluster di panel pembuatan cluster, klik Create.
gcloud
Gunakan perintah
gcloud dataproc clusters create
untuk menambahkan beberapa flag secondary-worker-machine-types
guna menentukan daftar VM fleksibel
yang diberi peringkat untuk
pekerja sekunder Dataproc.
Jenis pekerja sekunder VM fleksibel default adalah Spot, yang merupakan jenis preemptible.
Dalam contoh gcloud CLI berikut, Dataproc mencoba menyediakan pekerja sekunder dengan VM n2-standard-8
terlebih dahulu (peringkat 0). Jika
mesin n2-standard-8 tidak tersedia, Dataproc akan mencoba
menyediakan pekerja sekunder dengan VM e2-standard-8
atau t2d-standard-8
(peringkat 1).
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --zone="" \ --master-machine-type=n1-standard-8 \ --worker-machine-type=n1-standard-8 \ --num-workers=4 \ --num-secondary-workers=4 \ --secondary-worker-type=non-preemptible \ --secondary-worker-machine-types="type=n2-standard-8,rank=0" \ --secondary-worker-machine-types="type=e2-standard-8,type=t2d-standard-8,rank=1"
Catatan:
--zone=""
: Fitur VM Fleksibel memerlukan penempatan zona otomatis Dataproc untuk memungkinkan Dataproc memilih zona yang memiliki jenis VM Anda yang tersedia untuk digunakan. Meneruskan nilai kosong ("") ke flag--zone
akan mengganti pemilihan zona apa pun yang ditentukan dalamgcloud config list
default Anda.Dataproc menghasilkan properti
role
komponen berdasarkan core dan memori mesin. Anda dapat mengganti properti yang dibuat sistem ini dengan flag--properties
, menggunakan sintaksis berikut:--properties="ROLE:MACHINE_TYPE:COMPONENT_PREFIX:COMPONENT_PROPERTY=VALUE"
Hanya peran
secondary_worker
yang didukung.Dalam contoh berikut, tanda
--properties
mengubah jumlah core mesine2-standard-8
yang ditetapkan ke node pekerja sekunder dari8
menjadi6
:--properties="secondary_worker:e2-standard-8:yarn:yarn.nodemanager.resource.cpu-vcores=6"
API
Gunakan instanceFlexibilityPolicy.instanceSelectionList
sebagai bagian dari permintaan clusters.create
Dataproc API untuk menentukan daftar machineTypes yang diberi peringkat untuk pekerja sekunder.
Contoh:
Cuplikan JSON berikut dari isi permintaan clusters.create
Dataproc menentukan jenis mesin pekerja sekunder untuk peringkat 0 dan peringkat 1.
"config": { "secondaryWorkerConfig": { "instanceFlexibilityPolicy": { "instanceSelectionList": [ { "machineTypes": [ "n1-standard-4", "n2-standard-4" ], "rank": 0 }, { "machineTypes": [ "e2-standard-4", "n2d-standard-4" ], "rank": 1 } ] } } }
Gunakan properti cluster untuk menyesuaikan peran komponen: Dataproc menghasilkan properti role
komponen berdasarkan core dan memori VM.
Anda dapat mengganti properti yang dibuat sistem ini dengan menambahkan
SoftwareConfig.properties
ke permintaan clusters.create
, menggunakan sintaksis key=value
berikut:
ROLE:MACHINE_TYPE:COMPONENT_PREFIX:COMPONENT_PROPERTY=VALUE
Hanya peran secondary_worker
yang didukung.
Dalam contoh berikut, kolom properties
mengubah jumlah core
yang ditetapkan ke node pekerja sekunder VM e2-standard-8
dari 8
menjadi 6
:
"secondary_worker:e2-standard-8:yarn:yarn.nodemanager.resource.cpu-vcores=6"