广告
返回顶部
首页 > 资讯 > 数据库 >mongodb副本集
  • 201
分享到

mongodb副本集

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

       其实mongoDB也可以做主从机制,monGodb一主一从类似Mysql,但是slave在架构中为只读,并且主机宕机后从不

       其实mongoDB也可以做主从机制,monGodb一主一从类似Mysql,但是slave在架构中为只读,并且主机宕机后从不能自动切换为主。现在官方已经不推荐使用了,改用副本集。

  • 这种模式下有一个主(primary),和多个从(secondary),只读。支持给它们设置权重,当主宕掉后,权重最高的从切换为主

  • 在此架构中还可以建立一个仲裁(arbiter)的角色,它只负责裁决,而不存储数据l再此架构中读写数据都是在主上,要想实现负载均衡的目的需要手动指定读库的目标server


1.MongoDB副本集搭建

三台机器:192.168.1.100(primary)  192.168.1.101(secondary)   192.168.1.102(secondary) 

编辑三台机器的配置文件/etc/mongod.conf,增加:

###########

replication:

##oplog大小

  oplogSizeMB: 20

##复制集名称

  replSetName: monreplset     //名字可以随意

##############

分别重启三台机器

在主上连接mongo

>use admin

>config={_id:"monreplset",members:[{_id:0,host:"192.168.1.100:27017"},{_id:1,host:"192.168.1.101:27017"},{_id:2,host:"192.168.1.102:27017"}]}

>rs.initiate(config)

>rs.add("192.168.1.101")

>rs.add("192.168.1.102")

rs.status()       //查看状态

如果两个从上的状态为"stateStr": "STARTUP", 则需要进行如下操作

>var  config={_id:"monreplset",members:[{_id:0,host:"192.168.1.100:27017"},{_id:1,host:"192.168.1.101:27017"},{_id:2,host:"192.168.1.102:27017"}]}

>rs.reconfig(config)

此时再次查看rs.status()会发现从的状态变为SECONDARY


2.MongoDB副本集测试

主上建库,建集合

>use mydb

>db.test.insert({ID:1,UserName:"123",passWord:"123456"})

>show dbs

从上查看

>show dbs   

若出现错误Error:listDatabasesfailed:{ "note" : "from execCommand","ok" : 0, "errmsg": "not master" },

执行>rs.slaveok()即可


3.MongoDB副本集更改权重

默认三台机器权重都为1,如果任何一个权重设置为比其他的高,则该台机器马上切换为primary角色,所以我们预设三台机器的权重分别为:100:3, 101:2, 102:1

在主上执行

cfg= rs.config()

cfg.members[0].priority= 3

cfg.members[1].priority= 2

cfg.members[2].priority= 1

rs.reconfig(cfg)

这样的话,第二个节点将会成为候选主节点。

主上执行iptables-I INPUT -p tcp--dport 27017 -j DROP禁掉27017端口的访问

这时101将变成primary成为主。


您可能感兴趣的文档:

--结束END--

本文标题: mongodb副本集

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mongodb 副本集
    系统:centos6.5IP:10.19.21.244 主节点 10.19.21.245 备节点 10.19.21.248 仲裁点不只是主节点、副本节点、仲裁节点,还有Secondary-Only、Hidd...
    99+
    2022-10-18
  • mongodb副本集
           其实mongodb也可以做主从机制,mongodb一主一从类似mysql,但是slave在架构中为只读,并且主机宕机后从不...
    99+
    2022-10-18
  • mongodb集群-副本集(CSRS)
    一、概述(1)MongoDB复制是将数据同步在多个服务器的过程。(2)复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。(3)复制还允许您从硬件故障和服务...
    99+
    2022-10-18
  • MongoDB Replica Set 副本集
    1、简介MongoDB复制是将数据同步在多个服务器的过程,类似MySQL Replication是一种异步复制;复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的...
    99+
    2022-10-18
  • mongodb 副本集搭建
    mongodb的副本集模式较早前的master-slave模式有了很大的改进,由于之前的master-slave模式不支持主机宕机之后切换到从机,已经逐渐被淘汰。而现在官方推荐的副本集模式,支持多个节点并存...
    99+
    2022-10-18
  • mongodb 副本集创建
    vi install_mongo.shtar -zxvf mongodb-linux-x86_64-rhel62-3.2.9.tgzmv mongodb-linux-x86_64-rhel62-3.2.9 ...
    99+
    2022-10-18
  • mongodb副本集维护
    一、概述mongodb副本集维护主要工作:1、查看副本集状态(集群状态、同步延迟、单个库的运行状态mongostate)2、增删节点、停节点shutdownmongodb副本集集群同步机制数据复制的目的是使...
    99+
    2022-10-18
  • 配置mongodb副本集
    主机信息:[root@my2 db]# cat /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 loca...
    99+
    2022-10-18
  • 3.4-MongoDB副本集搭建
    * MongoDB 副本集(repl set)介绍早期版本使用master-slave,一主一从和MySQL类似,但slave在此架构中为只读,当主库宕机后,从库不能自动切换为主目前已经淘汰master-s...
    99+
    2022-10-18
  • mongoDB副本集的搭建
    环境简介    192.168.1.151      FedoraServer   用作副本集的主库,已经有数据    192...
    99+
    2022-10-18
  • 3.5-MongoDB副本集测试
    *MongoDB副本集测试主上建库,建集合>use mydb   #建库>db.acc.insert({AccountID:1,UserName:"123",password:"123...
    99+
    2022-10-18
  • MongoDB副本集成员状态
    副本集成员状态副本集的每个成员都有一个状态,反映了它在集合中的配置情况。数字名称状态描述0STARTUP还不是任何集合的活动成员。所有的成员启动在该状态。在STARTUP状态mongod解析副本集配置文档。...
    99+
    2022-10-18
  • Docker搭建MongoDB 4.0副本集
    环境: 系统版本:CentOS 7.5 内核:4.18.7-1.el7.elrepo.x86_64 Docker-ce: 18.06 MongoDB: 4.0.3 宿主机IP:192.168.1.1 M...
    99+
    2022-10-18
  • MongoDB学习笔记:副本集
    本文更新于2022-01-08,使用MongoDB 4.4.5。 目录单台服务器下创建副本集多台服务器下创建副本集重新启动并连接到副本集维护副本集节点 单台服务器下创建副本集 确保/data/db目录存在且当前系统用户有读写权限。例如...
    99+
    2019-12-08
    MongoDB学习笔记:副本集
  • 如何配置 MongoDB 副本集
    MongoDB 已经成为市面上最知名的 NoSQL 数据库。MongoDB是面向文档的,它的无模式设计使得它在各种各样的WEB 应用当中广受欢迎。最让我喜欢的特性之一是它的副本集(Replica Set),...
    99+
    2022-10-18
  • mongodb 副本集的维护(1)
    一、修改副本集中各成员的优先级:shard1:PRIMARY> conf=rs.conf(){"_id" : "shard1","version" : 3,"protocolVersion" : Nu...
    99+
    2022-10-18
  • mongodb如何更换副本集
    要更换MongoDB副本集,需要遵循以下步骤:1. 添加新副本集成员:首先,在新服务器上安装MongoDB,并确保它可以连接到现有的...
    99+
    2023-08-23
    mongodb
  • MongoDB安装与副本集配置
    副本集是一组,由N个mongo节点组成并协同工作的,提供自动的故障集群转移。...
    99+
    2022-10-18
  • MongoDB副本集的示例分析
    小编给大家分享一下MongoDB副本集的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!实验环境使用的Mongodb版本为...
    99+
    2022-10-19
  • MongoDB中怎么管理副本集
    这期内容当中小编将会给大家带来有关MongoDB中怎么管理副本集,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 1)诊断副本集中的机器,可以...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作