Mode Ketersediaan Tinggi

Saat membuat cluster Dataproc, Anda dapat mengalihkan cluster ke mode Ketersediaan Tinggi (HA) Hadoop dengan menentukan jumlah instance master dalam cluster. Jumlah master hanya dapat ditentukan pada waktu pembuatan cluster.

Saat ini, Dataproc mendukung dua konfigurasi master:

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

Membandingkan mode Ketersediaan Tinggi Hadoop dan default

  • Kegagalan Compute Engine: Dalam kasus yang jarang terjadi karena kegagalan Compute Engine yang tidak terduga, instance Dataproc akan mengalami mulai ulang mesin. Konfigurasi master tunggal default untuk Dataproc dirancang untuk memulihkan dan melanjutkan pemrosesan pekerjaan baru dalam kasus semacam itu, tetapi tugas yang sedang berlangsung akan selalu gagal dan harus dicoba lagi, dan HDFS tidak akan dapat diakses sampai NameNode tunggal pulih sepenuhnya saat perangkat dimulai ulang. Dalam mode HA, Ketersediaan Tinggi HDFS dan Ketersediaan Tinggi YARN dikonfigurasi untuk memungkinkan operasi YARN dan HDFS tanpa gangguan meskipun terjadi kegagalan/mulai ulang node tunggal.

  • Penghentian driver tugas: Program pengemudi/utama dari setiap tugas yang Anda jalankan masih mewakili potensi titik tunggal kegagalan jika ketepatan tugas Anda bergantung pada program pengemudi yang berhasil berjalan. Tugas yang dikirimkan melalui Dataproc Jobs API tidak dianggap sebagai "ketersediaan tinggi", dan akan tetap dihentikan jika ada kegagalan node master yang menjalankan program driver tugas yang sesuai. Agar setiap tugas tahan terhadap kegagalan node tunggal menggunakan cluster Dataproc Cloud dengan ketersediaan tinggi (HA), tugas tersebut harus 1) berjalan tanpa program driver sinkron atau 2) harus menjalankan program driver itu sendiri di dalam container YARN dan ditulis untuk menangani mulai ulang program driver. Lihat Meluncurkan Spark di YARN untuk mengetahui contoh cara program driver yang dapat dimulai ulang dapat berjalan di dalam container YARN untuk mendapatkan error.

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

Nama Instance

Master default bernama cluster-name-m; master dengan ketersediaan tinggi (HA) diberi nama cluster-name-m-0, cluster-name-m-1, cluster-name-m-2.

Apache Zookeeper

Dalam cluster Dataproc dengan ketersediaan tinggi (HA), komponen Zookeeper otomatis diinstal pada node master cluster. Semua master berpartisipasi dalam cluster ZooKeeper, yang mengaktifkan failover otomatis untuk layanan Hadoop lainnya.

HDFS

Di cluster Dataproc standar:

  • cluster-name-m berjalan:
    • NameNode
    • NameNode Sekunder

Di cluster Dataproc Ketersediaan Tinggi:

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

Lihat dokumentasi Ketersediaan Tinggi HDFS untuk mengetahui detail tambahan terkait komponen.

YARN

Dalam cluster Dataproc standar, cluster-name-m menjalankan ResourceManager.

Di cluster Dataproc Ketersediaan Tinggi, semua master menjalankan ResourceManager.

Lihat dokumentasi Ketersediaan Tinggi YARN untuk detail tambahan terkait komponen.

Membuat cluster Ketersediaan Tinggi

Perintah gcloud

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

REST API

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

Konsol

Untuk membuat cluster dengan ketersediaan tinggi (HA), pilih Ketersediaan Tinggi (3 master, N worker) di bagian Jenis cluster pada panel Siapkan cluster di halaman Create a cluster Dataproc.