MongoDB副本集,增删查改

环境准备
51~53都需要安装MongoDB服务,并设置对应的ip地址跟端口

副本集介绍

  • 也称为MongoDB复制
  • 指在多个服务器上存储数据副本,并实现数据同步
  • 提高数据可用性、安全性、方便数据故障恢复

MongoDB复制原理

  • 副本集工作过程
    至少需要两个节点,其中一个是主节点,负责处理客户端请求,其余是从节点,负责复制主节点数据
  • 常见搭配方式:一主一从、一主多从
  • 主节点记录所有操作oplog,从节点定期轮询主节点获取获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致

副本集实现方式

  • Master-Salve主从复制
    启动一台服务器时加上 “-master” 参数,做为主节点
    启动其他服务器时加上“-slave” 和 “-source” 参数,做为从节点
  • 主从复制的优点
    从节点可以提供数据查询,降低主节点的访问压力
    由从节点执行备份,避免锁定主节点数据
    当主节点故障时,可快速切换到从节点,实现高可用
  • Replica Sets副本集
    从1.6版本开始支持,优于之前的replication
    支持故障自动切换、自动修复成员节点,降低运维成本
    Replica Sets副本集的结构类似高可用集群

配置Replica Sets

一、运行MongoDB服务

  • 启动服务时,指定主机所在副本集名称
    所有副本集成员使用相同的副本集名称
  • –replSet rs1 //指定副本集名称

51~53上操作

  1. 修改配置文件,指定副本集
[root@ip51 ~]# mstop
[root@ip51 ~]# vim /usr/local/mongodb/etc/mongodb.conf 
... ...
replSet rs1
[root@ip51 ~]# mstart

二、配置节点信息

  1. 在任意一台主机连接mongodb服务,执行如下操作
[root@ip51 ~]# /usr/local/mongodb/bin/mongo --host 192.168.4.51 --port 27051

> config = {
    _id:"rs1",
    members:[
    {_id:0,host:"192.168.4.51:27051"},
    {_id:1,host:"192.168.4.52:27052"},
    {_id:2,host:"192.168.4.53:27053"}
    ]
    };
  1. 初始化Replica Sets环境
  • 执行如下命令
 > rs.initiate(config)
{
	"ok" : 1,
	"operationTime" : Timestamp(1558755758, 1),
	"$clusterTime" : {
		"clusterTime" : Timestamp(1558755758, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	}
}
  1. 查看副本集信息

-查看状态信息

> rs.st
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值