MongoDB 的 primary是透過 replset成員間選舉產生,但我們可以透過 priority的設定來影響選舉(很邪惡吧)

以下就來介紹怎麼買票(呵~~說錯了,是怎麼設定priority)

首先你要先登入MongoDB primary server,並下指令rs.conf()來確定member的編號

nowgarden:PRIMARY> rs.conf()
{
        "_id" : "replset",
        "version" : 193744,
        "members" : [
                {
                        "_id" : 14,
                        "host" : "mongodb1.nn.com.tw:27017",
                  },
                 {
                        "_id" : 16,
                        "host" : "mongodb3.nn.com.tw:27017"
                },
                {
                        "_id" : 15,
                        "host" : "mongodb4.nn.com.tw:27017"
                },
                {
                        "_id" : 13,
                        "host" : "mongodb5.nn.com.tw:27017"
                }
        ]
}

記住member的編號不是"_id"後的數字,而是你要從0往下數,例如

mongodb1.nn.com.tw:27017 是 member[0]

mongodb3.nn.com.tw:27017 是 member[1]

mongodb4.nn.com.tw:27017 是 member[2]

mongodb5.nn.com.tw:27017 是 member[3]

這樣會算了吧!!

下一個步驟我們來設定member的priority

replset:PRIMARY> cfg = rs.conf()

replset:PRIMARY> cfg.members[0].priority = 0.5

replset:PRIMARY> cfg.members[1].priority = 2

replset:PRIMARY> cfg.members[2].priority = 2

replset:PRIMARY> rs.reconfig(cfg)

OK..收工了

那要怎麼確定設定成功呢??

重打一次 rs.conf()

                        "_id" : 14,
                        "host" : "mongodb1.nn.com.tw:27017",
                        "priority" : 0.5

是不是有多一行了.

 

arrow
arrow
    全站熱搜

    痞客興 發表在 痞客邦 留言(0) 人氣()