返回顶部
首页 > 资讯 > 数据库 >mongodb复制集的实现
  • 832
分享到

mongodb复制集的实现

2024-04-02 19:04:59 832人浏览 八月长安
摘要

    复制集(Replica Sets),是一个基于主/从复制机制的复制功能,进行同一数据的异步同步,从而使多台机器拥有同一数据的都多个副本,由于有自动故障转移和恢复特性,当主库宕机时

    复制集(Replica Sets),是一个基于主/从复制机制的复制功能,进行同一数据的异步同步,从而使多台机器拥有同一数据的都多个副本,由于有自动故障转移和恢复特性,当主库宕机时不需要用户干预的情况下自动切换到其他备份服务器上做主库,一个集群最多可以支持7个服务器,并且任意节点都可以是主节点。所有的写操作都被分发到主节点,而读操作可以在任何节点上进行,实现读写分离,提高负载。

资源有限测试一个VM开3个实例:

环境:Centos7.0

192.168.1.21:20011 P

192.168.1.21:20012 S

192.168.1.21:20013  A

mongoDB verson:3.2

搭建过程:

1、下载包、并解压

2、添加相关的目录文件

[root@localhost monGodb27017]# ll

总用量 8

drwxr-xr-x. 2 root root 4096 12月 17 00:59 bin

drwxr-xr-x. 2 root root   30 12月 17 10:47 conf

drwxr-xr-x  4 root root 4096 12月 17 11:19 data

drwxr-xr-x. 2 root root   20 12月 17 01:13 key

drwxr-xr-x. 2 root root   23 12月 17 10:20 logs

#3个实例配置一样

3、解压包下bin目录下的所有文件到cp到当前的创建的bin目录下

4、3个实例的配置文件一致


[root@localhost conf]# cat mongodb27017.conf 

port=20011#每个实例端口,根据实际来配置

dbpath=/export/mongodb27017/data #数据目录

logpath=/export/mongodb27017/logs/mongod.log #日志目录

fork=true

logappend=true

#keyFile=/export/mongodb27017/key/mongodb#后面介绍

noHttpinterface=true

replSet=mongodb ##复制集的名字,

5、启动3个实例:


 /export/mongodb27018/bin/mongod -f /export/mongodb27018/conf/mongodb27018.conf

/export/mongodb27019/bin/mongod -f /export/mongodb27019/conf/mongodb27019.conf

/export/mongodb27017/bin/mongod -f /export/mongodb27017/conf/mongodb27017.conf

#需要把解压包bin目录下文件分别拷贝到这3个启动目录下,或者一个作为basedir也可以,其他分开

6、配置复制集

/export/mongodb27017/bin/mongo --port 20011#根据自己实际的定义,进入数据库

1、配置成员的关系:

     config = {_id:"mongodb", members:[{_id:0,host:"192.168.1.21:20011", priority : 3}]}        (给了优先级为3,mongodb为复制集的名)

2、初始化:

 >rs.initiate(config);  

3、添加备节点、仲裁节点


rs.add("192.168.1.21:20012")       添加备节点

rs.addArb("192.168.1.21:20013")    添加仲裁节点

rs.status()#查看状态

rs.conf()#查看副本集成员及其优先级(看好成员的顺序,优先级从1-100,越大的优先级越高)


config=rs.conf()           进行优先级设置

config.members[0].priority = 3                 设置主节点优先级为3

 config.members[1].priority = 2                 设置备节点优先级为2

 config.members[2].priority =  1                设置仲裁节点优先级为1

 rs.remove("ip:port")                            移除已经存在的成员

 rs.reconfig(config)          保存配置,生效

7、设置备节点为slave

mongodb:SECONDARY> show dbs

2016-12-17T12:26:22.621+0800 E QUERY    [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435 } :

登陆到20012实例上执行:rs.slaveOk()

8、测试主节点宕机是否能够切换

总结:    

    mongoDB的主从模式其实就是一个单副本的应用,没有很好的扩展性和容错性。而副本集具有多个副本保证了容错性,就算一个副本挂掉了还有很多副本存在,并且解决了上面第一个问题“主节点挂掉了,整个集群内会自动切换”,如果节点挂了,它会重新选举新的主节点。对于普通的业务能够满足,但高并发的话,复制集是无法满足,就需要shard的,实现集群高可用,可以借助LVS或者其他。





您可能感兴趣的文档:

--结束END--

本文标题: mongodb复制集的实现

本文链接: https://lsjlt.com/news/42174.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mongodb复制集的实现
        复制集(Replica Sets),是一个基于主/从复制机制的复制功能,进行同一数据的异步同步,从而使多台机器拥有同一数据的都多个副本,由于有自动故障转移和恢复特性,当主库宕机时...
    99+
    2024-04-02
  • MongoDB复制集
    一、关于 MongoDB复制集 1、什么是复制集 复制集是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断的服务进行恢复。复制集的优势如下:...
    99+
    2024-04-02
  • MongoDB复制集RS(ReplicationSet)
    MongoDB复制集RS(ReplicationSet) 1.基本原理      基本构成是1主2从的结构,自带互相监控投票机制(Raft(MongoDB) Paxos(mysql MGR 用的是变种))如果发生主库宕机,复制...
    99+
    2022-03-31
    MongoDB复制集RS(ReplicationSet)
  • mongodb复制集部署
    部署复制集由三个节点组成的 复制集 为网络故障或是其他的系统故障提供了足够的冗余。该复制集也有足够的分布式读操作的能力。复制集应该保持奇数个节点,这也就保证了 选举 可以正常的进行用3台已有的 mongod...
    99+
    2024-04-02
  • mongodb 添加复制集
    说明:复制集是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断的服务进行恢复。其优点如下:1 . 让数据更安全。2 . 高数据可用性。3 . ...
    99+
    2024-04-02
  • 详解MongoDB复制集
    何为复制集?复制集是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断的服务进行恢复。复制集主从同步的原理和mysql类似,主节点记录在其上的所...
    99+
    2024-04-02
  • mongodb之replSet复制集 + auth
    ### 开启auth认证的mongodb的复制集### 注意点- 服务器节点之前时间要同步- 开启防火墙的一定要允许通过- 开启selinux的也要进行设置- 建立双击互信模式最好不过### 提前...
    99+
    2024-04-02
  • MongoDB搭建Replica Set复制集
      1、在MongoDB的同级安装目录下创建数据目录,目录结构如下:        /data/rs0...
    99+
    2024-04-02
  • MongoDB 主从复制集搭建
    一、Mongodb复制集简介什么是复制集?复制集(Replica Sets)是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断的服务进行恢复。...
    99+
    2024-04-02
  • MongoDB复制集管理(后续)
    简介:复制集:1:标准节点:参与primary选举2:被动节点:只能成为secend,不参与选举3:仲裁节点:负责投票选举,不存放数据 实验环境:2台标准节点 1台被动节点 1台仲裁点具体实验步骤:(前半...
    99+
    2024-04-02
  • mongodb复制集如何维护
    这篇文章将为大家详细讲解有关mongodb复制集如何维护,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、新增副本集成员 1、登录primary 2、use a...
    99+
    2024-04-02
  • MongoDB中复制集集群的原理是什么
    这篇文章给大家介绍MongoDB中复制集集群的原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。复制集介绍MongoDB中的复制集(也被称为副本)是一组维护相同数据集的mongo...
    99+
    2024-04-02
  • MongoDB复制选举原理以及复制集的管理
    MongoDB复制集的节点是通过选举产生主节点的。复制的原理:复制是基于操作日志oplog,相当于MySQL的二进制日志,只记录发生改变的记录。复制将主节点的oplog日志同步并应用到其他从节点的过程选举的...
    99+
    2024-04-02
  • 【Mongodb】往分片复制集添加复制成员
    1.新的成员机器上安装mongo,启动shard1 [root@ip-10-1-2-183 etc]# more shard1.conf logpath=/usr/l...
    99+
    2024-04-02
  • mongoDB复制集修改 oplog 大小
    ctiy:PRIMARY> use local switched to db local ctiy:PRIMARY> db.oplog.rs.stats().maxSize //查看大小 NumberLong("53687091200...
    99+
    2019-07-06
    mongoDB复制集修改 oplog 大小 数据库入门 数据库基础教程 数据库 mysql
  • 大数据 MongoDB 复制集管理
    MongoDB 复制集 MongoDB复制是将数据同步在多个服务器的过程。 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。 复制还允许您从硬...
    99+
    2024-04-02
  • mongodb 复制集各节点概述
    默认情况:primary节点负责数据读写,secondary节点备份primary节点上的数据,但是arbiter节点不会从primary节点同步数据arbiter作用:当primary节点故障,能够从se...
    99+
    2024-04-02
  • MongoDB复制集成员的重新同步
    复制集成员的重新同步 当复制失败,且落后于 primary 中oplog最大可承受的范围的时候,replica set 成员将变为 “陈旧” (stale)。该节点无法追上主节点就变的 “陈旧”了...
    99+
    2024-04-02
  • MongoDB中复制集的原理是什么
    这篇文章给大家介绍MongoDB中复制集的原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。复制集简介Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primar...
    99+
    2024-04-02
  • MongoDB复制集的选举原理详解以及复制集管理简介
    前言介绍复制的原理:复制操作是基于oplog,类似mysql中的bin-log,只记录发生改变的记录。选举的原理:节点分为:标准节点、被动节点和仲裁节点。标准节点(priority值高):只有标准节点才可成...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作