原理:
2秒ごとに一度クラスター送信ハートビートのコピーは、10秒後に到達不能としてマークを受けていない場合。
プライマリ・データベース上のMongoDBアプリケーションデータベース操作、メインデータベースの操作履歴レコードに次に動作について説明します。次に、補助部材は、これらの操作をコピーして、非同期プロセスに適用されます。コレクションは、操作ログのコピーが含まれていlocal.oplog.rsでレプリカセットのすべてのメンバーは、デフォルトのサイズは、ディスクの5%ですが、レコードのクエリを実行しません。oplogSizeは、サイズ/etc/mongdb.confを指定することができます
レプリケーション:
oplogSizeMB:<整数>
replSetName:<文字列>
secondaryIndexPrefetch:<文字列>
enableMajorityReadConcern:<ブール>
mongdbレプリカセットメンバー:
プライマリ:データを書き込む責任
seconary:メイン上のデータを同期させる役割、読書サービスの提供
調停ノードを:データを保持していないが、予備選挙に参加しない、予備選挙の世論調査は行われ
レプリカは、選挙の優先順位で設定され、範囲0-1000,0調停ノードは、選挙に参加しません。デフォルトは1
私はどのように設定するのですか?
MongoDBのエンタープライズシャード-RS:PRIMARY>設定= rs.conf()
MongoDBのエンタープライズシャード-RS:PRIMARY>設定
{
"_id": "シャード-RS"、
"バージョン":3
"はprotocolVersion":NumberLong(1)、
"writeConcernMajorityJournalDefault":真、
"メンバー":[
{
"_id":0、
"ホスト": "worker2:27020"、
"arbiterOnly":偽、
"buildIndexes":真、
"隠された":偽、
"優先度": 1、
"タグ":{
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 1,
"host" : "worker2:27021",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 2,
"host" : "worker2:27022",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatIntervalMillis" : 2000,
"heartbeatTimeoutSecs" : 10,
"electionTimeoutMillis" : 10000,
"catchUpTimeoutMillis" : -1,
"catchUpTakeoverDelayMillis" : 30000,
"getLastErrorModes" : {
},
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
},
"replicaSetId" : ObjectId("5dd8bf958b8ea486b84c23b2")
}
}
一次、スライス3の優先順位を変更するための2のID値、2のID値がprmaryなる
config.members [2] = 3 .priority
27020は、故意に、プロセスを停止
殺す-9 82609
ホストが主になると2のid値を参照してください
mongdb 27022を入力します。
MongoDBのエンタープライズシャード-RS:PRIMARY>使用管理者は、
データベース管理者に切り替え
MongoDBのエンタープライズシャード-RS:PRIMARY> db.isMaster()
{
"ホスト":[
"worker2:27020"、
"worker2:27021"、
"worker2:27022"
]、
"のsetName": "シャード-RS"、
"setVersion":4、
"ismaster":真、#成为プライマリ
"二次":偽、