Mode Ketersediaan Tinggi

Saat membuat cluster Managed Service untuk Apache Spark, Anda dapat menempatkan cluster ke mode Ketersediaan Tinggi (HA) Hadoop dengan menentukan jumlah instance master dalam cluster. Jumlah master hanya dapat ditentukan pada saat pembuatan cluster.

Saat ini, Managed Service untuk Apache Spark mendukung dua konfigurasi master:

  • 1 master (default, non-HA)
  • 3 master (HA Hadoop)

Perbandingan mode default dan Ketersediaan Tinggi Hadoop

  • Kegagalan Compute Engine: Dalam kasus yang jarang terjadi ketika Compute Engine mengalami kegagalan tak terduga, instance Managed Service untuk Apache Spark akan mengalami reboot mesin. Konfigurasi master tunggal default untuk Managed Service for Apache Spark dirancang guna memulihkan dan melanjutkan pemrosesan tugas baru dalam kasus tersebut, tetapi tugas yang sedang berjalan pasti akan gagal dan perlu dicoba kembali, dan HDFS tidak dapat diakses hingga NameNode tunggal pulih sepenuhnya setelah reboot. Dalam mode HA, Ketersediaan Tinggi HDFS dan Ketersediaan Tinggi YARN dikonfigurasi agar operasi YARN dan HDFS berjalan tanpa gangguan meskipun ada kegagalan/reboot node tunggal.

  • Penghentian driver tugas: Driver/program utama tugas yang Anda jalankan dapat menjadi potensi titik tunggal kegagalan jika ketepatan tugas Anda bergantung pada driver program yang berjalan dengan sukses. Tugas yang dikirimkan melalui Managed Service untuk Apache Spark Jobs API tidak termasuk dalam kategori "ketersediaan tinggi", dan akan tetap dihentikan jika node master yang menjalankan program driver tugas terkait mengalami kegagalan. Agar tiap tugas tetap tangguh terhadap kegagalan node tunggal saat menggunakan cluster Cloud Dataproc HA, tugas harus 1) berjalan tanpa program driver sinkron atau 2) menjalankan program driver itu sendiri di dalam container YARN dan dirancang untuk menangani mulai ulang program driver. Baca bagian Meluncurkan Spark di YARN untuk mengetahui contoh cara program driver yang dapat dimulai ulang dapat berjalan di dalam container YARN untuk fault tolerance.

  • Kegagalan zona: Seperti halnya semua cluster Managed Service untuk Apache Spark, semua node dalam cluster Ketersediaan Tinggi berada di zona yang sama. Jika di suatu zona terjadi kegagalan yang memengaruhi semua node, kegagalan tersebut tidak akan dimitigasi.

Nama Instance

Master default diberi nama cluster-name-m; master HA diberi nama cluster-name-m-0, cluster-name-m-1, cluster-name-m-2.

Apache ZooKeeper

Di cluster Managed Service untuk Apache Spark HA, komponen Zookeeper diinstal secara otomatis di node master cluster. Semua master berpartisipasi dalam cluster ZooKeeper, yang memungkinkan failover otomatis untuk layanan Hadoop lainnya.

HDFS

Di cluster Managed Service untuk Apache Spark standar:

  • cluster-name-m menjalankan:
    • NameNode
    • Secondary NameNode

Di cluster Managed Service untuk Apache Spark dengan Ketersediaan Tinggi:

  • cluster-name-m-0 dan cluster-name-m-1 menjalankan:
    • NameNode
    • ZKFailoverController
  • Semua master menjalankan JournalNode
  • Tidak ada Secondary NameNode

Untuk mengetahui informasi lebih lanjut tentang komponen, baca dokumentasi Ketersediaan Tinggi HDFS.

YARN

Di cluster Managed Service untuk Apache Spark standar, cluster-name-m menjalankan ResourceManager.

Di cluster Managed Service untuk Apache Spark dengan Ketersediaan Tinggi, semua master menjalankan ResourceManager.

Untuk mengetahui informasi lebih lanjut tentang komponen, baca dokumentasi Ketersediaan Tinggi YARN.

Membuat cluster dengan Ketersediaan Tinggi

Perintah gcloud

Untuk membuat cluster HA dengan gcloud dataproc clusters create, jalankan perintah berikut:
gcloud dataproc clusters create cluster-name \
    --region=region \
    --num-masters=3 \
    ... other args

REST API

Untuk membuat cluster HA, gunakan clusters.create API, dengan menetapkan masterConfig.numInstances ke 3.

Konsol

Untuk membuat cluster HA, pilih Ketersediaan Tinggi (3 master, N pekerja) di bagian jenis Cluster pada panel Set up cluster di halaman Create a cluster Managed Service untuk Apache Spark.