Membuat cluster parsial Managed Service untuk Apache Spark

Untuk mengurangi efek ketidaktersediaan VM yang ditentukan pengguna di region tertentu pada waktu tertentu (kehabisan stok), Managed Service for Apache Spark memungkinkan Anda meminta pembuatan partial cluster dengan menentukan a jumlah minimum worker utama yang dapat diterima untuk mengizinkan pembuatan cluster.

Cluster standar Cluster parsial
Jika satu atau beberapa worker utama tidak dapat dibuat dan diinisialisasi, pembuatan cluster akan gagal. Worker yang dibuat akan terus berjalan dan dikenai biaya hingga dihapus oleh pengguna. Jika jumlah minimum worker yang ditentukan dapat dibuat, cluster akan dibuat. Worker yang gagal (tidak diinisialisasi) akan dihapus dan tidak dikenai biaya. Jika jumlah minimum worker yang ditentukan tidak dapat di buat dan diinisialisasi, cluster tidak akan dibuat. Worker yang dibuat tidak akan dihapus untuk memungkinkan proses debug.
Waktu pembuatan cluster dioptimalkan. Waktu pembuatan cluster yang lebih lama dapat terjadi karena semua node harus melaporkan status penyediaan status.
Cluster node tunggal tersedia untuk dibuat. Cluster node tunggal tidak tersedia untuk dibuat.

Penskalaan otomatis

Gunakan penskalaan otomatis dengan pembuatan cluster parsial untuk memastikan jumlah target (penuh) worker utama dibuat. Penskalaan otomatis akan mencoba mendapatkan worker yang gagal di latar belakang jika workload memerlukannya.

Berikut adalah contoh kebijakan penskalaan otomatis yang mencoba lagi hingga jumlah total instance worker utama mencapai ukuran target 10. minInstances dan maxInstances kebijakan cocok dengan jumlah minimum dan total worker utama yang ditentukan pada waktu pembuatan cluster (lihat Membuat cluster parsial). Menetapkan scaleDownFactor ke 0 akan mencegah cluster diperkecil skalanya dari 10 menjadi 8, dan akan membantu mempertahankan jumlah worker pada batas maksimum 10 worker.

workerConfig:
  minInstances: 8
  maxInstances: 10
basicAlgorithm:
  cooldownPeriod: 2m
  yarnConfig:
    scaleUpFactor: 1
    scaleDownFactor: 0
    gracefulDecommissionTimeout: 1h

Membuat cluster parsial

Anda dapat menggunakan Google Cloud CLI atau Dataproc API untuk membuat cluster parsial Managed Service for Apache Spark.

gcloud

Untuk membuat cluster parsial Managed Service for Apache Spark di command line, jalankan perintah gcloud dataproc clusters create berikut secara lokal di jendela terminal atau di Cloud Shell.

gcloud dataproc clusters create CLUSTER_NAME \
    --project=PROJECT \
    --region=REGION \
    --num-workers=NUM_WORKERS \
    --min-num-workers=MIN_NUM_WORKERS \
    other args ...

Ganti kode berikut:

  • CLUSTER_NAME: Nama cluster harus diawali dengan huruf kecil diikuti hingga 51 huruf kecil, angka, dan tanda hubung, serta tidak boleh diakhiri dengan tanda hubung.
  • PROJECT: Tentukan project yang terkait dengan cluster tugas.
  • REGION: Tentukan region Compute Engine tempat cluster tugas akan berada.
  • NUM_WORKERS: Jumlah total worker utama dalam cluster yang akan dibuat jika tersedia.
  • MIN_NUM_WORKERS: Jumlah minimum worker utama yang akan dibuat jika jumlah total worker yang ditentukan (NUM_WORKERS) tidak dapat dibuat. Pembuatan cluster akan gagal jika jumlah minimum worker utama ini tidak dapat dibuat (worker yang dibuat tidak akan dihapus untuk memungkinkan proses debug). Jika tanda ini dihilangkan, pembuatan cluster standar dengan jumlah total worker utama (NUM_WORKERS) akan dicoba.

REST

Untuk membuat cluster parsial Dataproc, tentukan jumlah minimum worker utama di kolom workerConfig.minNumInstances sebagai bagian dari permintaan clusters.create.

Menampilkan jumlah worker yang disediakan

Setelah membuat cluster, Anda dapat menjalankan perintah gcloud CLI berikut untuk mencantumkan jumlah worker, termasuk worker sekunder, yang disediakan di cluster Anda.

gcloud dataproc clusters list \
    --project=PROJECT \
    --region=REGION \
    --filter=clusterName=CLUSTER_NAME