すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:HDFS HA コマンド (hdfs haadmin)

最終更新日:Mar 04, 2025

このトピックでは、Hadoop 分散ファイルシステム (HDFS) によって提供される hdfs haadmin コマンドを使用して高可用性 (HA) を実装する方法について説明します。

背景情報

Hadoop 2.0.0 より前のバージョンでは、各クラスタに 1 つの NameNode のみがデプロイされていました。NameNode が使用できない場合、クラスタも使用できなくなります。 NameNode がクラスタとの接続を再確立するまで、クラスタはサービスを提供できません。

単一 NameNode デプロイメントは、次の側面で HDFS クラスタの可用性に影響します。

  • ノードのダウンタイムなどの例外が発生した場合、クラスタは使用できなくなります。この場合、NameNode を手動で再起動する必要があります。

  • ソフトウェアの更新やハードウェアのアップグレードなどの O&M 操作を実行する場合、一定期間クラスタも使用できなくなります。

HDFS HA 機能を使用して、これらの問題を解決できます。HA モードでは、2 つの NameNode がアクティブスタンバイモードでデプロイされます。ノードのダウンタイム時または O&M 中に、NameNode 間でスイッチオーバーを実行して、クラスタのサービスを復元できます。

制限事項

E-MapReduce (EMR) クラスタを作成するときは、高可用性を有効にする必要があります。

HDFS HA

EMR HA クラスタは、Quorum Journal Manager (QJM) を使用して HDFS HA を実装します。HA アーキテクチャの詳細については、「Architecture」をご参照ください。HDFS のデプロイトポロジについては、「HDFS のデプロイメント トポロジー」をご参照ください。

一般的な HDFS HA コマンド

すべての NameNode のステータスを表示する

hdfs haadmin -getAllServiceState コマンドを実行して、すべての NameNode のステータスをクエリします。コマンド例:

su - hdfs
hdfs haadmin -getAllServiceState

正常な応答例:

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

NameNode がアクティブ状態かスタンバイ状態かを確認する

hdfs haadmin -getServiceState <serviceId> コマンドを実行します。 active または standby の値が返されます。

  • nn1 のステータスを表示します。

    su - hdfs
    hdfs haadmin -getServiceState nn1
  • nn2 のステータスを表示します。

    su - hdfs
    hdfs haadmin -getServiceState nn2
  • nn3 が存在する場合、nn3 のステータスを表示します。

    su - hdfs
    hdfs haadmin -getServiceState nn3

アクティブ NameNode とスタンバイ NameNode 間でスイッチオーバーを実行する

hdfs haadmin -failover <現在のアクティブの serviceId> <新しいアクティブの serviceId> コマンドを実行して、アクティブ NameNode とスタンバイ NameNode 間でスイッチオーバーを実行します。

たとえば、nn1 が現在のアクティブ NameNode であるとします。次のコマンドを実行すると、nn2 が新しいアクティブ NameNode として機能します。 nn2 がすでにアクティブ NameNode である場合、コマンドの実行後も nn2 はアクティブ NameNode として機能します。

su - hdfs
hdfs haadmin -failover nn1 nn2

正常な応答例:

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