MongoDB--架构搭建(主从、副本集)之副本集
?
- 任何時間點只有一個活躍節點,其他為備份節點,當活躍節點泵機,將會通過選舉規則,從備選節點選一個當活躍節點,當泵機的節點恢復之后,則變為備用節點。
- 節點類型
?
stabdard:常規節點,存儲完整數據,參與投票,有可能成為活躍節點
passive:投票節點,存儲完整數據備份,不參與投票,不能成為活躍節點
arbiter:仲裁節點,不存數據,參與投票,不能成為活躍節點
?
- 選舉規則:根據節點的優先權(數字0-1000包含1000)進行從大到小排序(0為不能變成活躍節點),如果優先權相同,則判斷節點的數據新舊程度,最新的節點成為活躍節點,注意事項:如果備份節點最新的數據是3秒前同步的,則成為活躍節點時,則變成備份節點的數據為最新,其他的節點(包括原來活躍節點)的數據進行回滾,然后與當前活躍點進行同步。同步之前,其他節點不能成為活躍節點的候選者
?
- 環境搭建,建立文件目錄 MS\Set1\db、log、配置文件 ? ?MS\Set2\db、log、配置文件 ? ?MS\Set2\db、log、配置文件
?
1、配置文件如下:
實例1
dbpath=D:\MSset\Set1\db ?
logpath=D:\MSset\Set1\s1.log ??
directoryperdb=true ?
logappend=true ?
replSet=testrs/127.0.0.1:28882?
port=28881 ?
oplogSize=10000 ??
實例2
dbpath=D:\MSset\Set2\db ?
logpath=D:\MSset\Set2\s2.log ??
directoryperdb=true ?
logappend=true ?
replSet=testrs/127.0.0.1:28881?
port=28882 ?
oplogSize=10000 ??
實例3
dbpath=D:\MSset\Set3\db ?
logpath=D:\MSset\Set3\s3.log ??
directoryperdb=true ?
logappend=true ?
replSet=testrs/127.0.0.1:28882 (配置文件指定replSet為副本集群的名稱與關聯的對應IP,可以只關聯一個,開始之后Mongo可以自動感應集群其他機器)
port=28883 ?
oplogSize=10000 ??
2、使用mongod命令 啟動實例服務。mongod --config D:\MSset\Set1\conf.conf(后面2個實例啟動命令于此雷同)
3、使用mongo 命令進行登錄其中一個實例, mongo 127.0.0.1:28882
因為使用配置文件只是做了物理關聯,需要手動的執行命令將集群串起來,此時登錄服務器是不能做讀、寫操作的,
需要執行命令,db.getMongo().setSlaveOk()之后獲得讀寫權限,然后執行命令,將Mongo各個實例串聯起來
?
db.runCommand({"replSetInitiate":{
"_id":"testrs",
"members":[
{
"_id":1,
"host":"127.0.0.1:28881"
},
{
"_id":2,
"host":"127.0.0.1:28882"
},
{
"_id":3,
"host":"127.0.0.1:28883"
}
]
}
})
?
?
項目文件:
http://pan.baidu.com/s/1o8lwcUA
轉載于:https://www.cnblogs.com/sunxueyang222/p/7064104.html
總結
以上是生活随笔為你收集整理的MongoDB--架构搭建(主从、副本集)之副本集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux文件查找命令具体解释-whic
- 下一篇: 洛谷 P2046 BZOJ 2007 海