首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Mongodb只读副本集如何切换到读写模式

Mongodb副本集具备自动故障转移的高可用特性,通常所说副本集是1主2的架构,当主节点出现故障时,剩下2个节点会自动进行选出新主节点,提供对外服务.也可以进行主动维护,将主节点降级为节点...3个成员2个节点来满足超过1/2投票选出新主,这种只要实例能够启动即可 【以standalone方式启动来重建副本集】 1、查看副本集配置情况 备注:1主2副本集,无延迟.../shell/utils.js:25:13 DBCollection.prototype.drop@src/mongo/shell/collection.js:752:1 @(shell):1:1 3、...other等,此时只是一个>来表示,如何变成恢复副本集,此时可以初始化一个节点的副本集,后续可以将剩下节点加入进来. 5、重新初始化新副本集 备注:需要先删除local database,因为包括副本集信息...); { "ok" : 1 } xiaoxu:SECONDARY> 【角色已变成主,如果原主库恢复,此时还能加入进来恢复?】

2K40

Mongodb 副本集安装配置

一、基础了解 早期版本使用master-slave,一主一和MySQL类似,但slave在此架构为只读,当主库宕机后,库不能自动切换为主。...在此架构可以建立一个仲裁(arbiter)的角色,它只负责裁决,而不存储数据。 再此架构读写数据都是在主上,要想实现负载均衡的目的需要手动指定读库的目标server。 来看一下架构图: ?...Primary至少需要一个,的话可以一个或者多个! 除了增加多个Secondary之外,我们还可以在集群架构增加一个Arbiter(仲裁): ?.../shell/utils.js:25:13 Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1 shellHelper.show@src/mongo.../shell/utils.js:769:19 shellHelper@src/mongo/shell/utils.js:659:15 @(shellhelp2):1:1 出现错误Error: listDatabases

61581
您找到你想要的搜索结果了吗?
是的
没有找到

MongoDB副本(一主一备+仲裁)环境部署记录

现有的主从模式演变而来,增加了自动故障转移和节点成员自动恢复。 MongoDB复制集模式没有固定的主结点,在启动后,多个服务节点间将自动选举产生一个主结点。...Recovering 恢复,当复制集中某台服务器挂掉或者掉线后数据无法同步,重新恢复服务后其他成员复制数据,这时就处于恢复过程,数据同步后,该节点又回到备用状态。...复制集的节点读请求,也是在各个Driver层设置slaveOk的值来实现的。 如上介绍所知,mongodb的复制可以在多台服务器同步数据。...主节点可以接收客户端所有写操作记录到日志库复制主库的操作日志记录应用到其数据库。一个客户端只能有一个主节点,如果主节点不可用(10秒内无法连接),复制集中将选一个成员节点作为主节点。...库开启读操作(此时可以测试主库插入,库查看,同步正常): rs0:SECONDARY> rs.slaveOk(); rs0:SECONDARY> show dbs local 0.000GB

2.8K110

mongo】MongoDB副本集

环境:centos7 Ip: 主节点:192.168.225.128 节点192.168.225.129 节点&仲裁节点:192.168.225.130 Mongo版本:3.4. ...........一、原理 MongoDB 副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个Primary节点和一个或多个Secondary节点组成。类似于MySQL的MMM架构。...其原理是:slave端primary端获取日志,然后在自己身上完全顺序的执行日志所记录的各种操作(该日志是不记录查询操作的),这个日志就是local数据 库的oplog.rs表,默认在64位机器上这个表是比较大的...,占磁盘大小的5%,oplog.rs的大小可以在启动参数设 定:--oplogSize 1000,单位是M。...已设置在配置文件 3.进入mongo shell(128/129/130) # mongo --host 192.168.225.128 --port 37017 # mongo --host 192.168.225.129

1.1K20

Monogo副本集

MongoDB在主节点进行写操作,并将这些操作记录到主节点的oplog。而节点将会oplog复制到其本机,并将这些操作应用到自己的数据集上。...(复制集最多只能拥有一个主节点) 节点(Secondaries) 节点通过应用主节点传来的数据变动操作来保持其数据集与主节点一致。节点也可以通过增加额外参数配置来对应特殊需求。...例如,节点可以是non-voting或是priority 0. 仲裁节点(ARBITER) 仲裁节点即投票节点,其本身并不包含数据集,且也无法晋升为主节点。...投票节点的存在使得复制集可以以偶数个节点存在,而无需为复制集再新增节点 不要将投票节点运行在复制集的主节点或节点机器上。 投票节点与其他 复制集节点的交流仅有:选举过程的投票,心跳检测和配置数据。...,占磁盘大小的5%,oplog.rs的大小可以在启动参数设 定:–oplogSize 1000,单位是M。

78130

MongoDB系列一: Replica Set 集群搭建实战

随着内部产品业务的搭建,单机的mongo已经无法满足生产需求,对于单机迁移、损坏等问题,简单的单机数据备份已经无法满足,因为采用了集群方式来满足容灾以及数据快速恢复等功能,下面就来讲讲如何搭建集群来避免这些问题...群集尝试完成新主节点的选举并恢复正常操作。 ? 写操作,默认情况下,客户端主节点读取, 但是,客户端可以设置复制节点读取。 ?.../bin/mongod --config ~/mongodb/data/mongodb.conf 将 mongo1的 keyFile 文件拷贝到 mongo2 以及 mongo3....(你也可以采用其他方式,这里为了后续同步方便采用了 ssh ) mongo1 cd ~/.ssh ssh-keygen 一路回车......还记得我们一开始创建的 test 集合。 我们给它创建一个用户来进行管理。

3.6K41

浅尝辄止MongoDB:管理(1)

任何可以访问网络的人都可以连接到服务器并执行命令。不过,可以在任何数据库添加用户,这样就可以对MongoDB进行配置,使得在访问数据库时要求进行服务器验证。...启用身份认证 可以用以下两种方式启用身份认证: 在配置文件(如mongodb.conf)添加auth=true,然后重启MongoDB。 停止服务器并在启动参数添加--auth。...@src/mongo/shell/collection.js:254:10 @(shell):1:1 > exit bye [mongodb@hdp4~]$mongo test MongoDB shell...bulk_api.js:420:48 Bulk/executeBatch@src/mongo/shell/bulk_api.js:902:1 Bulk/this.execute@src/mongo/shell...:在认证备份,比如在abc数据库,需要其有dba这个账号才可以执行备份,要是abc数据库里没有账号,那么需要在admin上认证,再执行需要加:authenticationDatabase参数指定保存用户凭证的数据库

1.3K10

Mac OSX安装MongoDB

可以单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。...访问MongoDB 更多参考请访问:The mongo Shell 如果Mongo 启动成功,打开浏览器输入 localhost:27017 ,如果出现以下结果则证明开启成功。...安装完成后需要配置 MongoDB 的安装目录到 WebStorm ,输入如下命令: which mongo 将返回结果复制到下面的框中点击 Test 。...在启动mongod时,常用的参数是: –dbpath :存储MongoDB数据文件的目录 –directoryperdb:指定每个数据库单独存储在一个目录(directory),该目录位于...在启动mongo shell时,常用的参数有: –nodb: 阻止mongo在启动时连接到数据库实例; –port :指定mongo连接到mongod监听的TCP端口,默认的端口值是27017; –host

80920

MongoDB 安装和可视化工具

MongoDB 是一款非常热门的NoSQL,面向文档的数据库管理系统,选择的是 Enterprise Server (MongoDB 3.2.9)版本,安装在Windows Server 2012环境...2,链接到MongoDB 实例 不要关闭MongoDB实例,新打开一个命令行工具,输入mongo ,该命令启动mongo shellshell 将自动连接本地(localhost)的MongoDB实例...db.getCollectionNames() 5,切换db use foo 6,在foo数据库创建users集合,向集合插入一条document use foo db.users.insert(...{"name":"name 1",age:21}) db.users.find() 7,关闭MongoDB 实例 在mongo shell,执行以下命令,关闭MongoDB实例 use admin db.shutdownServer...mongod -fork 3,查看mongod的启动参数 db.serverCmdLineOpts() 四,mongo命令常用参数 mongo 是一个交互式的js shell,提供了一个强大的js 环境

1.6K10

mongodb4.0.2 复制集主从部署

介绍 复制集(Replica Sets),是一个基于主/复制机制的复制功能,进行同一数据的异步同步,从而使多台机器拥有同一数据的都多个副本,由于有自动故障转移和恢复特性,当主库宕机时不需要用户干预的情况下自动切换到其他备份服务器上做主库.../shell/utils.js:25:13 Mongo.prototype.getDBs@src/mongo/shell/mongo.js:67:1 shellHelper.show@src/mongo.../shell/utils.js:876:19 shellHelper@src/mongo/shell/utils.js:766:15 @(shellhelp2):1:1 # 认证 rs0:PRIMARY...> use admin switched to db admin rs0:PRIMARY> db.auth('root','test123') 1 # 可以看到,当前节点为主了 rs0:PRIMARY>.../shell/utils.js:25:13 Mongo.prototype.getDBs@src/mongo/shell/mongo.js:67:1 shellHelper.show@src/mongo

2.2K50

MongoDB副本集搭建

在MongoDB我们可以通过副本集来实现这一需求,MongoDB副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个Primary节点和一个或多个Secondary节点组成,如果Primary...首先我们在Linux根目录下创建/data/db目录作为我们的数据保存目录,然后执行如下命令启动一个mongo shellmongo --nodb —nodb表示启动时不连接任何数据库,然后通过如下命令创建一个副本集...,进入另外两个节点: mongo 192.168.248.128:20001/sang_1 mongo 192.168.248.128:20002/sang_1 连接成功之后,依然可以通过db.isMaster...,执行命令顺序如下: 主节点写入数据: db.collect1.insert({x:"hahaha"}) 任意一个副本节点,先执行如下命令表示可以备份节点读取数据: db.setSlaveOk() 然后再在备份节点中执行如下命令读取数据...最后如果想关闭副本集,可以回到第一个shell命令行,输入如下命令: replicaSet.stopSet() 多台服务器模拟 OK,以上操作是我们单台服务器模拟搭建副本集,方便我们做实验,在生产环境

1.2K60

超硬核的MongoDB基础讲解。《记得收藏,不然看着看着就找不到了》

之前讲过My SQL数据库,有兴趣的朋友可以去看看。今天我们主要讲讲MongoDB。 1、MongoDB概述 ? 简介 MongoDB是一款跨平台、面向文档的数据库。...2、MongoDB安装 安装及运行控制 1、配置yum源进行安装MongoDB 你们也可以再官网下载,就是下载有点慢,在这里不跟你细讲。...3、文档 文档是一个键值对: 文档的键值对是有序的。 文档的值可以是双引号里面的字符串, 也可以是其他几种数据类型(甚至可以是整个嵌入的文档)。...mongod -f /etc/mongod2.conf # 查看实例端口是否存在 netstat -lnt mongo --port 27018 // 指定来源实例克隆指定数据库下的指定集合到当前实例...后面的文章会细讲Nagios配置使用MongoDB插件来监控MongoDB数据库 ?

73620

MongoDB 安装

# MongoDB 安装 Windows系统的安装启动 Shell连接(mongo命令) Compass-图形化界面客户端 Linux系统的安装启动和连接 # Windows系统的安装启动 第一步...:下载安装包 MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以MongoDB官网下载安装,MongoDB 预编译二进制包下载地址: Download MongoDB (...\data\db 我们在启动信息可以看到,mongoDB的默认端口是27017,如果我们想改变默认的启动端口,可以通过--port来指定端口。...为了方便我们每次启动,可以将安装目录的bin目录设置到环境变量的path, bin 目录下是一些常用命令,比如 mongod 启动服务用的,mongo 客户端连接服务用的。...mongodb exit 更多参数可以通过帮助查看: mongo --help 提示: MongoDB javascript shell是一个基于javascript的解释器,故是支持js程序的。

90050

MongoDB日常运维操作命令小结

总所周知,MongoDB是一个NoSQL非数据库系统,即一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库的表;而每个集合可以存储一组由列标识的记录,列是可以自由定义的,非常灵活...看一下MongoDB的命令帮助系统: [root@centos6-vm01 ~]# mongo MongoDB shell version: 3.0.6 connecting to: test Welcome...,--drop指定恢复数据之前删除原来数据库数据,否则会造成回复后的数据数据重复。...:27017/pagedb -ukevin -p123456kevin 通过mongo实现连接,可以非常灵活的选择参数选项,参看命令帮助,如下所示: [root@centos6-vm01 ~]# mongo...--help MongoDB shell version: 3.0.6 usage: mongo [options] [db address] [file names (ending in .js

6.8K82
领券