MongoDBのレプリカセットの原則

原理:
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":真、#成为プライマリ
"二次":偽、

おすすめ

転載: blog.51cto.com/9237101/2453447