您好,登錄后才能下訂單哦!
將一個mongodb的普通數據節點修改為passive節點,也就是能同步數據、投票,但是不能成為primary節點。
除了仲裁節點,其他每個節點都有個代表優先權priority的值,我們可以通過設置優先權來決定誰成為primary的權重最大。
MongoDB replica sets中通過設置priority的值來決定優先權的大小,這個值的范圍是0--100,值越大,優先權越高。
如果值是0,那么不能成為primay。
通過rs.conf()命令查看出節點列表:
以下為我的實驗mongodb集群:
PRIMARY> rs.conf() { "_id" : "test", "version" : 22, "members" : [ { "_id" : 3, "host" : "192.168.22.36:27017" }, { "_id" : 5, "host" : "192.168.22.10:27017" }, { "_id" : 6, "host" : "192.168.22.12:27017", "priority" : 0, "arbiterOnly" : true }, { "_id" : 7, "host" : "192.168.22.115:27017" } ] }
2.將上面的192.168.22.10節點的priority值修改成0,讓它只接收數據,不參與成為primary的競爭。
命令格式如下:
cfg = rs.conf() cfg.members[0].priority = 0.5 cfg.members[1].priority = 2 cfg.members[2].priority = 2 rs.reconfig(cfg)
說明:cfg.members[0].priority =
中括號中的數字是執行rs.conf()得出的節點順序,第一個節點在這里寫0,第二個節點寫1,依次類推。
執行命令:
cfg = rs.conf() cfg.members[1].priority = 0 rs.reconfig(cfg)
查看集群狀態:
PRIMARY> rs.conf() { "_id" : "test", "version" : 22, "members" : [ { "_id" : 3, "host" : "192.168.22.36:27017" }, { "_id" : 5, "host" : "192.168.22.10:27017" "priority" : 0 }, { "_id" : 6, "host" : "192.168.22.12:27017", "priority" : 0, "arbiterOnly" : true }, { "_id" : 7, "host" : "192.168.22.115:27017" } ] }
可以看到192.168.22.10:27017節點的priority的值變為0,這時候它只接收數據,不參與primary的競爭。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。