全部产品
Search
文档中心

E-MapReduce:Perintah HA HDFS (hdfs haadmin)

更新时间:Jun 24, 2025

Topik ini menjelaskan perintah hdfs haadmin yang disediakan oleh Hadoop Distributed File System (HDFS) untuk mengimplementasikan ketersediaan tinggi (HA).

Informasi latar belakang

Sebelum Hadoop versi 2.0.0, setiap kluster hanya memiliki satu NameNode. Jika NameNode tidak tersedia, kluster juga menjadi tidak tersedia hingga NameNode memulihkan koneksi dengan kluster.

Penempatan Single-NameNode memengaruhi ketersediaan kluster HDFS dalam aspek berikut:

  • Jika terjadi pengecualian seperti node mati, kluster menjadi tidak tersedia dan Anda harus memulai ulang NameNode secara manual.

  • Selama pemeliharaan, seperti pembaruan perangkat lunak atau peningkatan perangkat keras, kluster juga menjadi tidak tersedia untuk sementara waktu.

Fitur HDFS HA dapat digunakan untuk menyelesaikan masalah tersebut. Dalam mode HA, dua NameNode ditempatkan dalam mode aktif-standby. Anda dapat melakukan pergantian antara NameNode untuk memulihkan layanan kluster jika terjadi node mati atau selama pemeliharaan.

Batasan

Anda harus mengaktifkan High Service Availability saat membuat kluster E-MapReduce (EMR).

HDFS HA

Kluster EMR HA menggunakan Quorum Journal Manager (QJM) untuk mengimplementasikan HDFS HA. Untuk informasi lebih lanjut tentang arsitektur HA, lihat Arsitektur. Untuk informasi tentang topologi penyebaran HDFS, lihat Topologi Penyebaran HDFS.

Perintah HDFS HA umum

Lihat status semua NameNode

Jalankan perintah hdfs haadmin -getAllServiceState untuk menanyakan status semua NameNode. Contoh perintah:

su - hdfs
hdfs haadmin -getAllServiceState

Contoh respons sukses:

master-1-1.c-dadaf2f2bea8****.cn-hangzhou.emr.aliyuncs.com:8021 standby
master-1-2.c-dadaf2f2bea8****.cn-hangzhou.emr.aliyuncs.com:8021 active
master-1-3.c-dadaf2f2bea8****.cn-hangzhou.emr.aliyuncs.com:8021 standby

Periksa apakah NameNode dalam keadaan aktif atau standby

Jalankan perintah hdfs haadmin -getServiceState <serviceId>. Nilai aktif atau standby akan dikembalikan.

  • Lihat status nn1.

    su - hdfs
    hdfs haadmin -getServiceState nn1
  • Lihat status nn2.

    su - hdfs
    hdfs haadmin -getServiceState nn2
  • Lihat status nn3.

    su - hdfs
    hdfs haadmin -getServiceState nn3

Lakukan pergantian antara NameNode aktif dan standby

Jalankan perintah hdfs haadmin -failover <serviceId dari aktif saat ini> <serviceId dari aktif baru> untuk melakukan pergantian antara NameNode aktif dan standby.

Sebagai contoh, nn1 adalah NameNode aktif saat ini. Setelah Anda menjalankan perintah berikut, nn2 akan bertindak sebagai NameNode aktif baru. Jika nn2 sudah menjadi NameNode aktif, nn2 tetap bertindak sebagai NameNode aktif setelah perintah dijalankan.

su - hdfs
hdfs haadmin -failover nn1 nn2

Contoh respons sukses:

Failover to NameNode at master-1-2.c-dadaf2f2bea8****.cn-hangzhou.emr.aliyuncs.com successful