このトピックでは、ApsaraDB for MongoDBインスタンス、コンポーネント、またはノードを再起動する方法について説明します。 ApsaraDB for MongoDBインスタンス内のデータベースがインスタンスへの最大接続数に達し、パフォーマンスが低下した場合、インスタンス、インスタンス内のコンポーネント、またはインスタンス内のノードを手動で再起動できます。
制限事項
コンポーネントは、シャードクラスターインスタンスでのみ再起動できます。
クラウドディスクを使用するApsaraDB for MongoDBインスタンスでのみノードを再起動できます。
使用上の注意
インスタンスを再起動すると、インスタンスで実行されているプロセスが停止および再起動され、インスタンスへのすべての接続が閉じられます。 アプリケーションがインスタンスに自動的に再接続できることを確認します。
ほとんどの場合、mongodプロセスとmongosプロセスは30秒以内に開始されます。 ただし、インスタンスに10,000を超えるコレクションが含まれている場合、mongodプロセスが開始するまでに数分かかる場合があります。 mongodプロセスが開始される前に、プロセスが実行されているノードに接続することはできません。 過剰な再起動時間によるサービスの中断を防ぐために、インスタンスで10,000個以下のコレクションを使用することを推奨します。 詳細については、「MongoDBドキュメント」をご参照ください。
レプリカセットインスタンスの再起動後、インスタンス内のノードのロールが変更される場合があります。 運用環境では、接続文字列URIの使用を推奨します。 詳細については、「レプリカセットインスタンスへの接続」をご参照ください。
シャードクラスタインスタンスが再起動された場合、mongosプロセスが再起動されると、インスタンスへの接続は閉じられます。 運用環境で接続文字列URIを使用し、少なくとも2つのmongosノードのエンドポイントをURIに追加することを推奨します。 詳細については、「シャードクラスターインスタンスへの接続」をご参照ください。
レプリカセットインスタンス内のノードが再起動されると、インスタンス内のノードのロールが変更される場合があります。 運用環境では、接続文字列URIの使用を推奨します。 詳細については、「レプリカセットインスタンスへの接続」をご参照ください。
シャードクラスタインスタンスのシャードコンポーネント内のノードが再起動された場合、クライアントとデータベース間の接続は閉じられません。 しかしながら、データ書き込み動作は失敗する可能性がある。 後で書き込み操作を再試行することを推奨します。
手順
ApsaraDB for MongoDBインスタンスの再起動
ApsaraDB for MongoDBコンソールにログインします。
左側のナビゲーションペインで、レプリカセットインスタンス または シャーディングインスタンス をクリックします
ページの左上隅で、インスタンスが属するリソースグループとリージョンを選択します。
再起動するインスタンスを見つけて、操作 列の もっと をクリックします。 次に、再起動 を選択します。
インスタンスの再起動 メッセージで、[OK] をクリックします。
インスタンスの再起動中、インスタンスは [再起動] 状態になります。 インスタンスのステータスが [実行中] に変わると、インスタンスは再起動されます。
コンポーネントの再起動
コンポーネントは、シャードクラスターインスタンスでのみ再起動できます。
シャードクラスターインスタンスページに移動します。 上部のナビゲーションバーで、インスタンスが存在するリージョンを選択します。 次に、インスタンスを見つけて、インスタンスのIDをクリックします。
インスタンス詳細ページの Mongos 一覧 または シャードリスト セクションで、再起動するコンポーネントを見つけ、操作 列のアイコンをクリックします。 次に、再起動 を選択します。
ノードの再起動 メッセージで、[OK] をクリックします。
コンポーネントの再起動中、インスタンスは [再起動] 状態になります。 インスタンスのステータスが [実行中] に変わると、コンポーネントは再起動されます。
ノードの再起動
レプリカセットインスタンスまたはシャードクラスターインスタンスページに移動します。 上部のナビゲーションバーで、インスタンスが存在するリージョンを選択します。 次に、インスタンスを見つけて、インスタンスのIDをクリックします。
インスタンスの詳細ページの左側のナビゲーションウィンドウで、サービスの提供.
再起動するノードを見つけて、[操作] 列の [ノードの再起動] をクリックします。
[ノードの再起動] メッセージで、[OK] をクリックします。
ノードを再起動すると、インスタンスは [再起動] 状態になります。 インスタンスのステータスが [実行中] に変わると、ノードは再起動されます。
よくある質問
システムはバックグラウンドでレプリカセットインスタンスを再起動する方法を教えてください。 再起動操作がサービスに与える影響は何ですか?
システムは最初に隠しノードを再起動し、次にセカンダリノードを再起動します。 これらのノードが再起動された後、システムはreplSetFreezeコマンドを実行して、次の60秒以内にセカンダリノードがプライマリノードとして選択されないようにします。 その後、システムはプライマリノードを再起動します。 再起動操作は、サービスに次の影響を与えます。
隠しノード: 隠しノードで実行された再起動操作は、サービスに影響しません。
セカンダリノード: セカンダリノードへのすべての接続が閉じられ、クライアントは再度接続を確立する必要があります。 この場合、プライマリノードは読み取りおよび書き込み操作に影響を与えることなく使用できます。
プライマリノード: プライマリノードへのすべての接続が閉じられ、クライアントは再度接続を確立する必要があります。 この場合、セカンダリノードは、読み出し動作に影響を与えることなく利用可能である。 プライマリノードが60秒以内に再起動されると、インスタンスは読み書き可能になります。 そうでなければ、セカンダリノードがプライマリノードとして選択される。
バックグラウンドでシャードクラスタインスタンスを再起動するにはどうすればよいですか。 再起動操作がサービスに与える影響は何ですか?
シャードノード、Configserverノード、mongosノードが再起動されます。 再起動操作は、サービスに次の影響を与えます。
Shardノード: 複数のシャードノードが並行して再起動されます。 再起動中にクライアント接続は閉じられませんが、シャードノードが書き込み操作を処理できない場合があります。 再起動後に書き込み操作を再試行することを推奨します。
ConfigServerノード: Configserverノードで実行される再起動操作は、サービスには影響しません。
Mongosノード: 複数のmongosノードが並行して再起動されます。 再起動中、mongosノードへのすべての接続が閉じられます。 アプリケーションがインスタンスに自動的に再接続できることを確認します。