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クラスタのダウングレード操作とアップグレード操作は対応している必要があり、対応する運用コマンドを置き換えるだけで済みます。
クラスターのロールバック操作
- ロールバックに関する考慮事項
- ロールバックはローリング操作をサポートしていないため、操作中にクラスターが外部サービスを停止する必要があります。
- ロールバック操作では、ソフトウェアのバージョンをアップグレード前のバージョンに戻すだけでなく、ユーザーデータもアップグレード前の状態に戻します。
- ロールバック手順