Mode Ketersediaan Tinggi

Saat membuat cluster Dataproc, Anda dapat menempatkan cluster ke dalam 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 default dan Ketersediaan Tinggi Hadoop

  • Kegagalan Compute Engine: Dalam kasus yang jarang terjadi, yaitu 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 tersebut, tetapi tugas yang sedang berlangsung pasti akan gagal dan perlu dicoba ulang, dan HDFS tidak akan dapat diakses hingga NameNode tunggal pulih sepenuhnya saat dimulai ulang. Dalam mode HA, Ketersediaan Tinggi HDFS dan Ketersediaan Tinggi YARN dikonfigurasi untuk memungkinkan operasi YARN dan HDFS tanpa gangguan meskipun ada kegagalan/reboot node tunggal.

  • Penghentian driver tugas: Driver/program utama dari tugas apa pun yang Anda jalankan masih mewakili kemungkinan titik kegagalan tunggal jika kebenaran tugas Anda bergantung pada program driver yang berhasil berjalan. Tugas yang dikirimkan melalui Dataproc Jobs API tidak dianggap "ketersediaan tinggi", dan akan tetap dihentikan saat node master yang menjalankan program driver tugas yang sesuai mengalami kegagalan. Agar setiap tugas tahan terhadap kegagalan node tunggal menggunakan cluster Cloud Dataproc HA, tugas harus 1) berjalan tanpa program driver sinkron atau 2) harus menjalankan program driver itu sendiri di dalam penampung 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 penampung YARN untuk toleransi error.

  • Kegagalan zona: Seperti halnya semua cluster Dataproc, semua node dalam cluster Ketersediaan Tinggi berada di zona yang sama. Jika ada kegagalan yang memengaruhi semua node dalam zona, 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 Dataproc HA, komponen Zookeeper otomatis diinstal di node master cluster. Semua master berpartisipasi dalam cluster ZooKeeper, yang memungkinkan failover otomatis untuk layanan Hadoop lainnya.

HDFS

Di cluster Dataproc standar:

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

Di cluster Dataproc dengan Ketersediaan Tinggi:

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

Lihat dokumentasi Ketersediaan Tinggi HDFS untuk detail tambahan tentang komponen.

YARN

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

Di cluster Dataproc Ketersediaan Tinggi, semua master menjalankan ResourceManager.

Lihat dokumentasi Ketersediaan Tinggi YARN untuk mengetahui detail tambahan tentang komponen.

Membuat cluster 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 API clusters.create, dengan menetapkan masterConfig.numInstances ke 3.

Konsol

Untuk membuat cluster HA, pilih Ketersediaan Tinggi (3 master, N pekerja) di bagian Jenis cluster pada panel Siapkan cluster di halaman Buat cluster Dataproc.