|
based on v26->v83(移行中) 紹介MongoDBはバックアップやフェールオーバーに備えてサーバー間の非同期レプリケーションをサポートしています。 それ以外のサーバー(slave/secondary)に対しては、オプションで読み込み権限を与えることができます。これは結果整合性を採用しているためです。 MongoDBは現在master/slaveとreplica setsの2つの種類のレプリケーションをサポートします。従来まではmaster/slave、replica pairの2種類でしたが、v1.6.0 でreplica setsが導入され、replica pairsはこれに含まれる形となりました。詳しくは次のページを参照してください。
どの構成を選べば良いのか3つのレプリケーションの内のどれを選べば良いのかの基準として、以下のポイントを参考にしてください:
セキュリティ、遅延スレーブ機能に関してはこのページで説明します。 セキュリティセキュリティ機能が有効になっている場合、両方のサーバー上に存在する local のデータベースで、ユーザアカウントを設定してください。 slave 側のレプリケーション接続は、 local.system.users の repl ユーザーをまず探します。存在する場合、ソース側のデータベースに対しての認証で、そのユーザーを使います。 repl ユーザーが存在しない場合、 local.system.users の最初のユーザーオブジェクトで接続を試みます。 local データベースは、 admin データベースのように使われます。 local にあるアカウントですべてのサーバーへアクセスします。 シェルからの確認mongo シェルでmasterのステータスを確認します。 // master上のlocal.oplog.$main の中を調べ、状態を表示します。
db.printReplicationInfo()
mongo シェルでslaveの状態を確認します。 // slaveのlocal.sourcesを中を調べ、状態を表示します。
db.printSlaveReplicationInfo()
(上記のファンクションを括弧なしで実行することで、javascriptのソースを見ることができます) バージョン1.3.2時点では、slaveで以下のことができます。 db._adminCommand( { serverStatus : 1 , repl : N } )
N は、診断情報のレベルで、以下の値を設定することができます。
httpインターフェース管理用の http Interace (port 28017) で、master/slaveのどちらでも、基本的なmongodのプロセスの情報を確認できます。 replInfo: repl: sleep 2sec before next pass replication master: 0 slave: 1 initialSyncCompleted: 1 オプション遅延slaveヒューマンエラーの対策として、masterから数時間遅れたデータを持つslaveを持つことが有益なことがあります。これは、MongoDB 1.3.3以上で、--slavedelayオプションをmongodコマンドラインオプションに付けることで可能です。
--slavedelay //masterからslaveに遅らせる時間(秒で)を指定します。
参照プレゼンテーション |


IF YOU HAVE A QUESTION, POST IT TO THE USER GROUP.
These pages are fine for comments, but for questions, your best bet will always be the MongoDB User Group. blog comments powered by Disqus