部署Replica Sets及查看相关配置

Posted Asu_PC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署Replica Sets及查看相关配置相关的知识,希望对你有一定的参考价值。

MongoDB 支持在多个机器中通过异步复制达到故障转移和实现冗余。多机器中同一时刻只有一台是用于写操作。正是由于这个情况,为MongoDB 提供了数据一致性的保障。担当Primary 角色的机器能把读操作分发给slave。

MongoDB高可用可分为两种:

  • Master-Slave主从复制:

    只需要在某一个服务器启动时加上--master参数,而另一个服务加上--slave与--source参数,即可实现同步。MongoDB的最新版本已经不再推荐此方案。

  • Replica Sets复制集

    MongoDB在1.6版本对开发新功能replica set,这比之前的replication功能要强大,增加了故障自动切换和自动修复成员节点,各个DB之间数据完全一致,大大降低了维护成功。auto shard已经明确说明不支持replication paris, 建议使用replica set,replica set故障切换完全自动。

如果上图所示,Replica Sets 的结构非常类似一个集群。是的,你完全可以把它当成集群,因为它确实跟集群实现的作用是一样的,其中一个节点如果出现故障,其它节点马上会将业务接过来而无须停机操作。

1、部署Replica Sets

接下来将一步一步的给大家分享一下实施步骤:

1、 创建数据文件存储路径

2、 创建日志文件路径

3、创建主从key 文件,用于标识集群的私钥的完整路径,如果各个实例的key file 内容不一致,程序将不能正常用。

4、启动3 个实例

5、配置及初始化Replica Sets

6、查看复制集状态

还可以用isMaster 查看Replica Sets 状态。

2、主从操作日志

MongoDB 的Replica Set 架构是通过一个日志来存储写操作的,这个日志就叫做”oplog”。oplog.rs 是一个固定长度的 capped collection,它存在于”local”数据库中,用于记录 Replica Sets 操作日志。在默认情况下,对于64 位的MongoDB,oplog 是比较大的,可以达到5%的磁盘空间。oplog 的大小是可以通过mongod 的参数”—oplogSize”来改变oplog 的日志大小。

Oplog 内容样例:

字段说明:

  •  ts: 某个操作的时间戳
  •  op: 操作类型,如下:
    •  i: insert
    •  d: delete
    •  u: update
  •  ns: 命名空间,也就是操作的collection name
  •  o: document 的内容

查看master 的oplog 元数据信息

字段说明:

  •  configured oplog size: 配置的oplog 文件大小
  •  log length start to end: oplog 日志的启用时间段
  •  oplog first event time: 第一个事务日志的产生时间
  •  oplog last event time: 最后一个事务日志的产生时间
  •  now: 现在的时间

查看slave 的同步状态:

3、主从配置信息

在local 库中不仅有主从日志oplog 集合,还有一个集合用于记录主从配置信息 –system.replset

从这个集合中可以看出,Replica Sets 的配置信息,也可以在任何一个成员实例上执行rs.conf()来查看配置信息

以上是关于部署Replica Sets及查看相关配置的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB——MongoDB副本集(Replica Sets)

mongodb3.2 replica sets

Tomcat部署多个项目及相关配置

centos6 Nginx的安装部署与负载均衡配置

linux网络查看及配置相关命令

使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版——部署配置及相关知识