配置 Replica Sets 副本集
保證數據一致,清理數據庫-----練習操做的
[root@4 ~]# rm -rf /usr/local/mongodb/data/db/*
1.啓用副本集,寫配置文件,4.2-4.3-4.4都操做,指定主機所在副本集名稱
[root@4 ~]# vim /usr/local/mongodb/etc/mongodb.conf
replSet=rs1
2.啓動服務,若是服務起不來,檢查配置文件
[root@2 ~]# mongod -f /usr/local/mongodb/etc/mongodb.conf
3.建立集羣-------任意一臺均可以,此次操做--->4.2,鏈接本身,在哪臺機器上執行建立集羣的命令,它就成爲主
[root@2 ~]# /usr/local/mongodb/bin/mongo --host 192.168.4.2 --port 27050mongodb
config={
... _id:"rs1",
... members:[
... {_id:0 , host:"192.168.4.2:27050"},
... {_id:1 , host:"192.168.4.3:27051"},
... {_id:2 , host:"192.168.4.4:27052"}
... ]
... };
輸出以下:
{
"_id" : "rs1",
"members" : [
{
"_id" : 0,
"host" : "192.168.4.2:27050"
},
{
"_id" : 1,
"host" : "192.168.4.3:27051"
},
{
"_id" : 2,
"host" : "192.168.4.4:27052"
}
]
}
4.初始化 Replica Sets 環境
• 執行以下命令
– >rs.initiate(config)
有輸出就OK
rs1:PRIMARY>
5.查看副本集信息
查詢狀態信息
rs1:PRIMARY> rs.status()
查看是不是 master 庫
rs1:PRIMARY> rs.isMaster()
##########其餘機器也能夠執行上面命令查看
6.驗證副本集配置
客戶端鏈接主:[root@5 ~]# /usr/local/mongodb/bin/mongo --host 192.168.4.2 --port 27050
寫入文檔:
rs1:PRIMARY> db.name.save({name:"jerry",age:19})
同步數據驗證------從庫,去查看文檔
rs1:SECONDARY> db.getMongo().setSlaveOk() 容許從庫查看數據
模擬宕機,去從庫查看誰是主
– > rs.isMaster( ) 查看是不是主庫
鏈接當前的主,寫入文檔,查看當前的主庫的從庫是否同步數據
修復已經宕機的數據庫,執行命令db.getMongo().setSlaveOk(),查看數據是否同步,而且是當前的主庫的從庫數據庫