MongoDB Enterprise(シャーディングされたクラスター)へのアップグレード
MongoDB Enterpriseは 、次のようなMongoDB Community Editionでは利用できないさまざまな機能を提供しています。
次の手順では、シャーディングされたクラスターを MongoDB Community Edition から MongoDB Enterprise Edition にアップグレードする手順を概説します。 たとえば、次の手順を使用して MongoDB 7.0をアップグレードできます MongoDB 7.0へのコミュニティ Enterprise。
始める前に
MongoDB 8.0 以降では、 directShardOperations
ロールを使用して、メンテナンス操作を実行できます。その操作では、シャードに対してコマンドを直接実行する必要があります。
警告
directShardOperations
ロールを使用して コマンドを実行すると、クラスターが正しく動作しなくなり、データが破損する可能性があります。 directShardOperations
ロールは、メンテナンス目的で、または MongoDB サポートのガイダンスに必ず従う必要があります。 メンテナンス操作を実行したら、 directShardOperations
ロールの使用を停止します。
このタスクについて
メジャー リリースのアップグレード
警告
別のリリース バージョンにアップグレードする場合は、以下の手順は使用しないでください。リリースバージョンをアップグレードするには、「MongoDB 8.0 へのアップグレード」など、適切なリリースのアップグレード手順を参照してください。
Ops Manager
Ops Manager を使用すると、 MongoDB Community Server からMongoDB Enterprise Serverへの自動的なアップグレードが可能になります。
詳細については、 「 MongoDB のバージョンの変更 」を参照してください。
ローリング アップグレード
シャーディングされたクラスターを手動で更新する場合、シャードレプリカセットとコンフィギュレーションサーバーに対してローリング アップグレードを実行して、各MongoDB Community Server を最小限のダウンタイムで Enterprise エディションに更新できます。
ローリング アップグレードでは、各セカンダリがダウンしてアップグレードされます。 Enterpriseサーバーは、セカンダリとしてレプリカセットに再び参加します。すべてのセカンダリがアップグレードされたら、プライマリを降格して、レプリカセットにエンタープライズ サーバーの 1 つを新しいプライマリとして選択するよう強制します。
手順
ダウンタイムを最小限に抑えるには、 MongoDB Community Server から Enterprise Edition へのそれぞれを手動でアップグレードします。
バランサーを停止する
アップグレード中、バランサーはシャード間でデータを再分配しようとしないようにしてください。バランサーがデータの再分配を試みるのを防ぐには、アップグレード中はバランサーを停止します。
バランサー を停止するには、mongos
に接続してsh.stopBalancer()
メソッドを実行します。
sh.stopBalancer()
バランシング ラウンドが進行中の場合、 操作はバランシングが完了するまで待機します。
バランサーが停止していることを確認するには、 sh.getBalancerState()
メソッドを使用します。
sh.getBalancerState()
false
バランサーが停止すると、 コマンドは false
を返します。
ルーターのアップグレード(mongos)
MongoDB Community インストールから Enterprise へのmongos
インスタンスのローリング アップグレードを実行します。
mongos
に接続し、ルーター プロセスを停止します。db.getSiblingDB("admin").shutdownServer() Linuxにパッケージマネージャーを使用して
mongos
をインストールした場合、エンタープライズmongos
をインストールする前に既存のパッケージを削除する必要があります。Community
mongos
を削除するには:RHEL 、 CentOS、Alma Linux、 Oracle、Rocky、 Amazon Linuxから Community
mongos
を削除するには、次のコマンドを実行します。sudo dnf remove mongodb-mongos Community
mongos
をUbuntuとDebianから削除するには、次のコマンドを実行します。sudo apt remove mongodb-mongos Community
mongos
をSUSE Enterprise Linuxから削除するには、次のコマンドを実行します。sudo zypper remove mongodb-mongos オペレーティング システムに応じて、パッケージ マネージャーを使用するか、バイナリを手動でダウンロードして、MongoDB Enterprise バイナリをインストールできます。
パッケージ マネージャーを使用して MongoDB Community をインストールした場合は、ご使用のオペレーティング システムのパッケージ マネージャーの手順に従います。
パッケージ マネージャーを使用して MongoDB をインストールしていない場合は、 MongoDB ダウンロード センターから MongoDB バイナリを手動でダウンロードできます。 MongoDB Enterprise の特定の前提条件を含む、お使いのオペレーティング システムのマニュアル手順に従います。
重要
現在の MongoDB Community Edition とは異なるロケーションにインストールします。
アップグレード手順では、既存のデータディレクトリと、既存の構成ファイル(該当する場合)を使用します。
重要
同じリリース シリーズのMongoDB Community Editionが同じマシンにインストールされている場合、
.msi
を使用して Enterprise エディションをインストールすることはできません。 つまり、バージョン 4.4.0 の場合 MongoDB Community Editionがインストールされている場合、.msi
を使用して 4.4.0 または 4.4.1 のエンタープライズ エディションをインストールすることはできません。インストールするには、 現在のMongoDB Community Editionとは異なるロケーションに ファイルを抽出/解凍します。
アップグレード手順では、既存のデータディレクトリと、既存の構成ファイル(該当する場合)を使用します。
バイナリをインストールします。
現在のMongoDB Community Editionとは異なるロケーションに ファイルを抽出します。 ファイルの抽出方法の詳細については、「 macOS 」を参照してください。
アップグレード手順では、既存のデータディレクトリと、既存の構成ファイル(該当する場合)を使用します。
ルーターを起動するには、Community
mongos
で使用したのと同じ構成で Enterprisemongos
を実行します。以下に例を挙げます。
sudo mongos --config /etc/mongos.conf
バランサーを再起動する
バランサー を再起動するには、 に接続し、mongos
sh.startBalancer()
メソッドを使用します。
sh.startBalancer()
バランサーが実行中であることを確認するには、 sh.getBalancerState()
メソッドを使用します。
sh.getBalancerState()
true
バランサーが実行中、このコマンドはtrue
を返します。
重要
Enterprise 機能を使用する前に、すべてのメンバーが Enterprise エディションにアップグレードされていることを確認してください。