配置 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(),查看数据是否同步,而且是当前的主库的从库数据库