重要
MongoDB 8.3 は最新のマイナー リリースです。MongoDB 8.2 以降では、特定のユースケースに合わせてオンプレミス配置(Community と EA)でマイナー リリースを利用できます。詳細については、 MongoDB のバージョン管理 を参照してください。
オンプレミスでサポートされている最新のMongoDBバージョンをインストールするには、インストール手順を参照してください。
このドキュメントの内容をよく読み、前提条件を十分に確認してから、 MongoDB 8.3にアップグレードしてください。
次の手順では、レプリカセット メンバーであるmongodをバージョン8.2から8.3にアップグレードする手順について説明します。
8.3へのアップグレードに関するガイダンスが必要な場合は、 MongoDBプロフェッショナル サービスがアップグレード サポートを提供して、 MongoDBアプリケーションを中断することなくスムーズに移行できるようにします。
アップグレードの推奨事項とチェックリスト
アップグレードの際には、次の点を考慮してください。
アップグレード バージョン パス
既存の MongoDB デプロイを8.3にアップグレードするには、 8.0シリーズのリリースを実行している必要があります。
マイナー バージョンからアップグレードする場合、最終的に 8.3 にアップグレードされるまで、マイナー リリースを順次アップグレードする必要があります。
ドライバーの互換性を確認
MongoDBをアップグレードする前に、 MongoDB8.3 との互換性があるドライバーを使用していることを確認してください。 MongoDB. との互換性を確認するには、特定の ドライバー8 の ドライバー3 のドキュメントを参照してください。
互換性のないドライバーでアップグレードを実行した場合、予期しないまたは未定義の動作が発生する可能性があります。
事前対策
アップグレードを開始する前に、ドキュメント「 MongoDB 8.3での互換性の変更 」で、ご利用のアプリケーションとデプロイが MongoDB 8.3と互換性があることを確認してください。 アップグレードを開始する前に、お使いの環境の互換性の問題を解決してください。
MongoDB をアップグレードする際は、アップグレードを本番環境にデプロイする前に、必ずアプリケーションをステージング環境でテストします。
ダウングレードの検討事項
MongoDB 8.3 以降では、 MongoDBのバージョンをその前のマイナーまたはメジャー バージョンにダウングレードできます。
MongoDB は 1 つのバージョンのダウングレードのみをサポートします。現在のリリースより数バージョン前のリリースにダウングレードすることはできません。
例、8.0 の配置を 7.0 にダウングレードできます。ただし、7.0 配置から 6.0 配置へのさらなるダウングレードはサポートされていません。
前提条件
全ノードのバージョン
8.2すべてのレプリカセットノードはバージョン を実行する必要があります。レプリカセットを6.0 以前からアップグレードするには、まずレプリカセットのすべてのノードを最新の.8 0シリーズのリリースにアップグレードしてから、次にMongoDB.8 28からアップグレードする手順に従います。から.3 まで。
機能の互換性バージョン
8.2レプリカセットでは、 featureCompatibilityVersionを"8.3"に設定する必要があります。
レプリカセットのすべてのノード featureCompatibilityVersion が "8.3"に設定されていることを確認するには、各レプリカセット ノードに接続し、featureCompatibilityVersionを確認します。
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
"featureCompatibilityVersion" : { "version" : "8.2" }
featureCompatibilityVersionを設定または更新するには、プライマリで次のコマンドを実行します。データを保持するノードの過半数が利用可能である必要があります。
db.adminCommand( { setFeatureCompatibilityVersion: "8.2" , confirm: true } )
レプリカセット ノードの状態
replSetGetStatus コマンドを発行して、レプリカセットが ROLLBACK または RECOVERING 状態になっていないことを確認します。
db.adminCommand( { replSetGetStatus: 1 } )
ダウンロード8.3 バイナリ
パッケージ マネージャーの使用
MongoDB を MongoDB apt 、 yum 、 dnf 、またはzypperリポジトリからインストールした場合、パッケージ マネージャーを使用して8.3にアップグレードする必要があります。
Linuxシステムの場合は、9.0 のインストール手順を参照してください。新しいリリース用にリポジトリを追加して、実際にアップグレードする必要があります。
手動
パッケージ マネージャーを使用して MongoDB をインストールしていない場合は、 MongoDB ダウンロード センターから MongoDB バイナリを手動でダウンロードできます。
詳しくは、 8.3インストール手順を参照してください。
アップグレード手順
MongoDB 8.2から8.3へのアップグレードは、「ローリング」アップグレードを利用することで、他のノードが利用可能である間に個別にアップグレードを行いダウンタイムを最小限に抑えることができます。
レプリカセットのプライマリを降格する
mongoshをプライマリに接続し、rs.stepDown() を使用してプライマリを降格し、新しいプライマリの選挙を強制します。
以前のプライマリのアップグレード
rs.status() でプライマリが降格し、別のノードが PRIMARY 状態になったことが示されたら、降格したプライマリをアップグレードします。
ステップダウンしたプライマリをシャットダウンし、
mongodバイナリを8.3バイナリに置き換えます。ノードを再起動します。
下位互換性のない 8.3 機能を有効にする
Tip
下位互換性のないこうした機能を有効にすると、ダウングレード前に保持されていた下位互換性のない機能をすべて削除する必要があるため、ダウングレード プロセスが複雑になる場合があります。
ダウングレードの可能性を最小限に抑えるには、アップグレード後、バーンイン期間中にこれらの機能を有効にせずにデプロイを運用することをお勧めします。ダウングレードの可能性を最小限に抑えられたと確信できたら、これらの機能を有効にします。
この時点で、 8.2と互換性のない8.3機能を使わずに8.3バイナリを実行できます。
これらの 8.3 機能を有効にするには、機能の互換性バージョン(FCV)を 8.3 に設定します。また、confirm を true に設定する必要があります。
Tip
最初の同期が進行中でないことを確認します。最初の同期の進行中に setFeatureCompatibilityVersion コマンドを実行すると、最初の同期がリスタートされます。
プライマリノードの admin データベースでsetFeatureCompatibilityVersionコマンドを実行します。
db.adminCommand( { setFeatureCompatibilityVersion: "8.3", confirm: true } )
featureCompatibilityVersion (FCV) : "8.3 " に設定します暗黙的に を実行して構成ドキュメントにreplSetReconfig termフィールドを追加し、新しい構成がレプリカセットノードの過半数に伝播するまでブロックします。
このコマンドは、内部 システムコレクションへの書込みを実行する必要があります。コマンドが完了しない場合は、操作が冪等であるため、プライマリで安全にコマンドを再試行できます。
トラブルシューティング
アップグレード後にスタートアップの問題が発生した場合は、 MongoDBサポート にお問い合わせください。
追加のアップグレード手順
スタンドアロンをアップグレードするには、 8.2 スタンドアロンの 8.3 へのアップグレード を参照してください。
シャーディングされたクラスターをアップグレードするには、 8.2 のクラスターを8.3 にアップグレードする を参照してください。