本文介绍如何把独立的mongo实例转换成包含3个成员的副本集。开发和测试使用独立实例,生产使用副本集。如何安装独立的mongo实例本文不再赘述。

如果在部署副本集时还没有安装mongo实例,可以查看部署副本集;

步骤

  1. 停止独立的mongo实例服务。
  2. 重启实例。使用--replSet选项配置副本集的名字。例如,下面命令启动独立的实例作为副本集rs0的一个成员。它使用了独立的数据库路径/srv/mongodb/db0,该路径必须事先存在,否则启动报错。
mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0
  • 1

如果程序连接了不止一个副本集,那么每个副本集要有唯一的名字。有些驱动根据副本集名字对副本集连接分组。 
3. 连接到mongo实例。 
4. 使用rs.initiate()初始化新的副本集。

rs.initiate()
  • 1

现在就可以对副本集操作了。 
可以使用rs.conf()查看副本集配置,使用rs.status()检查副本集状态。

扩展副本集

通过以下步骤添加副本集成员: 
1. 在两个不同的系统,启动两个独立的mongo实例。 
2. 在最初的mongo实例连接上(之前独立的实例),执行如下命令把新实例添加到副本集:

rs.add("<hostname><:port>")
  • 1

使用mongo实例可分辨的主机名和端口替换<hostname><port>,添加到副本集。

分片考虑

如果新的副本集时分片集群的一部分,按照如下步骤修改分片主机信息: 
1. 连接到分片集群mongos实例中的一个,执行如下命令:

db.getSiblingDB("config").shards.save( {_id: "<name>", host: "<replica-set>/<member,><member,><...>" } )
  • 1

使用分片名字替换<name>,使用副本集名字替换<replica-set>,使用副本集成员替换<member,><member,><>。 
2. 重启所有mongos实例。如果可能,重启副本集所有组件。

mongo转换副本集的更多相关文章

  1. mongodb 系列 ~ mongo的副本集(3)

    一 简介:今天咱们来聊聊mongodb复制的具体一些案例 二 副本集 1 当mongodb采用全量复制时,如何观察全量复制的进度 对比文件本身和primary大小 2 mongodb全量复制的过程 旧 ...

  2. mongodb 系列 ~ mongo的副本集(2)

    一 简介:来试试更改副本集的oplog问题二 背景: oplog的作用类似于mysql的binlog,传递增量操作到从节点 三 oplog介绍   1 oplog在local库:      1 mas ...

  3. Mongo分片+副本集集群搭建

    一. 概念简单描述 1. MongoDB分片集群包含组件: mongos,configserver,shardding分片 2. Mongos:路由服务是Sharded cluster的访问入口,本身 ...

  4. mongo学习- 副本集 大多数原则

    副本集中有一个重要的概念“大多数”,意思是说,选择主节点需要大多数决定(本人亲自做了实验) 步骤: 1.开启副本集(如果没有配置好 副本集的 亲参考我的上篇文章  https://www.cnblog ...

  5. mongo学习- 副本集配置(事故自动转移)

    一.安装mongodb 二.复制2份 三.启动 (1)mongod --config C:\mongofuben\zhu\conf\mongodb.config --replSet haibin/12 ...

  6. mongodb(副本集)

    副本集是mongo下的一种集群配置方式: 1.通过oplog的方式将主节点数据同步到副本节点,oplog不记录查询语句(因为不改变数据): 2.mongo的副本集可以有一个主节点,多个副本节点,主节点 ...

  7. MongoDB副本集的搭建

    副本集是mongodb提供的一种高可用解决方案.相对于原来的主从复制,副本集能自动感知primary节点的下线,并提升其中一个Secondary作为Primary. 整个过程对业务透明,同时也大大降低 ...

  8. mongodb副本集的从库永久性设置setSlaveOk

    今天在生产环境下面搭了一个mongo的副本集,但开发那边要求副本集读写分离. 坑爹的是每次上副本集的时候都要设置db.getMongo().setSlaveOk()才能访问数据.感觉很是苦逼. 后来开 ...

  9. MongoDB学习笔记~Mongo集群和副本集

    回到目录 一些概念 对于Mongo在数据容灾上,推荐的模式是使用副本集模式,它有一个对外的主服务器Primary,还有N个副本服务器Secondary(N>=1,当N=1时,需要有一台仲裁服务器 ...

随机推荐

  1. Leetcode题库——14.最长公共前缀

    @author: ZZQ @software: PyCharm @file: longestCommonPrefix.py @time: 2018/9/16 17:50 要求:查找字符串数组中的最长公 ...

  2. just_sort

    ★实验任务 给定两个序列 a b,序列 a 原先是一个单调递增的正数序列,但是由于某些 原因,使得序列乱序了,并且一些数丢失了(用 0 表示).经过数据恢复后,找 到了正数序列 b ,且序列 a 中 ...

  3. 『编程题全队』Alpha 阶段冲刺博客Day4

    1.每日站立式会议 1.会议照片 2.昨天已完成的工作统计 孙志威: 1.添加团队界面下的看板容器SlotWidget 2.实现SlotWidgets的动态布局管理 3.实现团队/个人界面之间的切换 ...

  4. JS单例模式在工作中的使用

    为了尽可能的减少全局变量的污染,在写js的时候可以采用单例模式,形式如下: 比如有一个js叫demo.js,那么我们可以在js里这样写: var demo = {} 这样做的目的是将整个js当成一个对 ...

  5. windows 下查看进程开始运行的时间

    1. 打开运行 输入 msinfo32 然后在软件环境- 正在运行任务- 就能够看到运行开始的时间了.

  6. [微软官方]SQLSERVER的兼容级别

    ALTER DATABASE (Transact-SQL) 兼容级别 https://docs.microsoft.com/zh-cn/sql/t-sql/statements/alter-datab ...

  7. 内网内使用https 和 使用http 建立连接的速度对比

    文字版 使用https httpstat https://10.24.101.14/cwbase/web/Login.aspx --insecure Connected to HTTP/ OK Ser ...

  8. CF702F T-Shirts

    题目描述 The big consignment of t-shirts goes on sale in the shop before the beginning of the spring. In ...

  9. hihocoder1639 图书馆 [数学]

    已知数组a[]及其和sum, 求sum! / (a1!a2!...an!) 的个位数的值. 求某数的逆元表写成了求某数阶乘的逆元表,故一直没找到错误. P 是质数的幂B 表示质数,P 表示模数,cal ...

  10. javascript循环事件只响应最后一次的问题处理

    在所有的面向对象编程语言中,只要涉及到逻辑的代码,常见的问题都是循环创建很多个对象UI,在循环体中对这些对象添加事件.如果不做处理,和其他地方一样的添加事件,其结果都是只响应最后一次循环之后的结果.原 ...