HDFS クラスターのローリング アップグレードとロールバック関連

導入

  • Hadoop v2 では、HDFS はネームノード高可用性 (HA) をサポートしているため、ダウンタイムなしで HDFS をアップグレードできます。注: ローリング アップグレードは、hadoop2.4.0 以降でのみサポートされます。
  • したがって、ダウンタイムなしで hdfs クラスターをアップグレードするには、クラスターを HA でセットアップする必要があります。
  • HA クラスターには、2 つ以上のネームノード、多数のデータノード、1 つのジャーナルノードと 1 つのズーキーパーノードがあります。
  • JN は比較的安定しており、ほとんどの場合、HDFS のアップグレード時にアップグレードは必要ありません。
  • ローリング アップグレード プロセス中は、NNS と DNS のみが対象となり、JNS と ZKNS は対象外となります。JN と ZKN をアップグレードすると、クラスターのダウンタイムが発生する可能性があります。

ダウンタイムのないローリング アップグレード

非フェデレーテッド HA クラスター

2 つのネーム ノード NN1 と NN2 があり、NN1 と NN2 がそれぞれアクティブ状態とスタンバイ状態にあるとします。

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

フェデレーテッド HA クラスター

  • フェデレーテッド クラスターは、複数の名前空間を持つクラスターです。各ネームスペースは、アクティブ ネームノード ノードとバックアップ ネームノード ノードのペアに対応します。
  • 上記のクラスターは、クイックフェデレーション + HA クラスターです。
  • フェデレーテッド クラスターのアップグレード プロセスは、非フェデレーテッド クラスターのアップグレード プロセスと似ています。本質的な違いはありません。必要なのは、異なる名前空間に対してアップグレード操作を数回繰り返すことだけです。
    ここに画像の説明を挿入します
    ここに画像の説明を挿入します

ダウンタイムアップグレード – 非 HA クラスター

  • アップグレード プロセス中、ネームノードを再起動する必要があり、この間は使用可能なバックアップ ノードがないため、サービスが停止する時間が必然的に短くなります。
  • 全体的なプロセスは、非フェデレーション HA モードの 4 つのステップと似ています。ただし、ステップ 2 のプロセスを変更する必要があります。
    ここに画像の説明を挿入します

HDFS クラスターのダウングレードとロールバック

异同点

共通点

  • バージョンアップ前のバージョンに戻ります。
  • アップグレードされた funalize アクションが実行されると、ダウングレードとロールバックは許可されなくなります。

違い

  • ダウングレードはローリング方式をサポートできます。ローリング ダウングレードは実行できますが、ロールバックにはサービスを一定期間停止する必要があります。
  • ダウングレード プロセスでは、ソフトウェア バージョンがアップグレード前のバージョンに復元されるだけで、ユーザーの既存のデータ ステータスは保持されます。
  • ロールバックすると、ユーザー データはアップグレード前の状態モードに復元され、既存のデータ状態は保存されません。
  • アップグレードには注意し、ダウングレードとロールバックにはさらに注意してください。
    運用環境では、クラスタをアップグレードする前に調査を実施して、アップグレードされたバージョンと既存のサービスとの互換性を評価する必要があります。テスト環境でアップグレード
    プロセスを完全にシミュレートし、予期しないクラスタの中断を避けるため、アップグレードの前にクラスタのステータスをバックアップしてください。
    アップグレードが失敗した場合は、ロールバック、ダウングレード、その他の操作によってクラスタを保存しないでください。

HAクラスタのダウングレード(ダウングレード)

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

予防

  • HA モードにおけるダウングレードとアップグレードの共通点は
    、ネームノードの運用中は待機ノードが運用を開始し、待機ノードの運用終了後にもう一方のノードがアップグレード/ダウン運用できるように切り替えが行われます。プロセス全体、操作は常にアクティブなノードを維持して外部にサービスを提供します
  • ダウングレード プロセス中のネームノードとデータノードの操作は、アップグレード中の操作とはまったく逆です。
    通常、新しいバージョンはプロトコル内にあり、API は古いバージョンとのみ互換性があります。最初に NN をダウングレードすると、次のような問題が発生します。 DN が新しいバージョンになり、NN が古いバージョンになります。新しいバージョンの DN の多くのプロトコルは、
    古いバージョンの NN と互換性がなくなる可能性がある
    ため、最初に DN をダウングレードし、次に DN をダウングレードする必要があります。サーバーNN。
  • フェデレーテッドクラスタと非HAクラスタのダウングレード操作とアップグレード操作は対応している必要があり、対応する運用コマンドを置き換えるだけで済みます。

クラスターのロールバック操作

  • ロールバックに関する考慮事項
    • ロールバックはローリング操作をサポートしていないため、操作中にクラスターが外部サービスを停止する必要があります。
    • ロールバック操作では、ソフトウェアのバージョンをアップグレード前のバージョンに戻すだけでなく、ユーザーデータもアップグレード前の状態に戻します。
  • ロールバック手順
    ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_49750432/article/details/132053044