レプリカセットの各ノードにはそれぞれ状態があります。
番号 | 名前 | 状態の説明 |
|---|---|---|
0 | まだどのセットのアクティブなメンバーでもない。すべてのノードがこの状態で起動します。 は | |
1 | ステートプライマリのノードは、書込み操作を受け付けることができる唯一のノードです。これらのノードには、投票資格があります。 | |
2 | 状態セカンダリのノードは、データ ストアをレプリケートします。これらのノードには、投票資格があります。 | |
3 | ||
5 | ノードは最初の同期を実行中です。 レプリカセットに新しく追加された場合を除き、投票資格があります。 | |
6 | セットの別のノードから見て、ノードの状態はまだわかりません。 | |
7 | アービタはデータをレプリケートせず、選挙に参加するためだけに存在します。これらのノードには、投票資格があります。 | |
8 | セット内の別のノードから見て、そのノードは到達不可能です。 | |
9 | ||
10 | このノードはかつてレプリカセットに含まれていましたが、その後削除されました。 |
状態
コア状態
PRIMARYPRIMARY状態のメンバーは書込み操作を受け入れます。レプリカセットには、一度に最大 1 つのプライマリが含まれます。 []1SECONDARYメンバーは選挙後にプライマリになります。PRIMARY状態のメンバーには投票資格があります。
SECONDARYSECONDARY状態のメンバーはプライマリのデータセットをレプリケートし、読み取り操作を受け入れるように構成できます。予備選挙では投票資格があり、予備選挙が利用できなくなった場合にはPRIMARY状態に選出される可能性があります。
ARBITERARBITER状態のメンバーは、データを複製したり、書込み操作を受け入れたりしません。これらは投票資格があり、選挙中に均衡を破るためにのみ存在します。レプリカセットでは、セットに偶数の投票ノードがあり、関連する選挙が発生する可能性がある場合にのみ、 状態のノードが必要です。レプリカセットには最大で 1ARBITERつのアービタを構成する必要があります。アービタを使用する際の考慮事項については、「 レプリカセットArbiter 」を参照してください。
コア状態について詳しくは、「レプリカセット ノード」を参照してください。
その他の状態
STARTUPレプリカセットの各ノードは
STARTUP状態で起動します。次に、mongodはそのメンバーのレプリカセット構成を読み込み、メンバーの状態をSTARTUP2またはARBITERに移行します。STARTUPのメンバーは、どのレプリカセットでも認識されたメンバーではないため、投票する資格がありません。
STARTUP2バージョン5.0で変更。
レプリカセットの各データを保持するノードは、 がそのノードの構成の読み込みを完了するとすぐに
STARTUP2mongod状態になります。STARTUP2次に、メンバーは最初の同期を実行するかどうかを決定します。メンバーが最初の同期を開始した場合、すべてのデータがコピーされ、すべてのインデックスが構築されるまで、そのメンバーは に残ります。その後、メンバーはRECOVERINGに移行します。に新しく追加されたメンバーには投票資格がなく、投票できません。最初の同期プロセス中に選択されます。
STARTUP2MongoDB.5 0より前は、STARTUP2のメンバーには投票資格がありました。
RECOVERINGRECOVERINGレプリカセットのメンバーは、読み取りを受け入れる準備ができていない場合、RECOVERING状態になります。RECOVERING状態はPRIMARY通常の操作中に発生する可能性があり、必ずしもエラー状態を反映しているわけではありません。 状態のメンバーは選挙で投票する資格がありますが、 状態になる資格はありません。RECOVERINGメンバーは、クライアント読み取りのデータの一貫したビューを保証するために十分なデータをレプリケートした後、SECONDARYからRECOVERINGに移行します。 状態とSECONDARYRECOVERING状態の唯一の違いは、 ではクライアントの読み取りが禁止され、SECONDARYSECONDARYではクライアントの読み取りが許可されていることです。 状態では、プライマリに関するデータの古さについては何も保証されません。過負荷のため、 セカンダリ がレプリカセットの他のメンバーより大幅に遅れる可能性があり、セットの残りの部分と 再同期 する必要がある場合があります。このような状況が発生すると、メンバーは
RECOVERING状態になり、手動による介入が必要になります。
エラー状態
エラー状態のノードは投票できません。
UNKNOWNレプリカセットにステータス情報を通信したことがないノードは、
UNKNOWN状態です。
DOWNレプリカセットへの接続を失ったメンバーは、セットの残りのメンバーからは
DOWNとして認識されます。
REMOVEDレプリカセットから削除されたメンバーは、
REMOVED状態になります。メンバーがREMOVED状態になると、ログにはこのイベントがreplSet REMOVEDメッセージ エントリでマークされます。
| [1] | 状況によっては、 replica set内の 2 つのノードが一時的に自分たちがプライマリであると認識することがありますが、最大でそのうちの 1 つが |