mongoDB single db convert to replicaSet

以下以2.0.2为例 : 

1. 修改主节点配置

# 其他配置不变

# 增加配置,例如

noauth = true

oplogSize = 31280

journal = true

journalCommitInterval = 40

2. 重启mongodb

mongo 127.0.0.1:4321/admin

db.shutdownServer()

# 增加启动项 --replSet=set_name

mongod --replSet=set_name -f mongod.conf

3. 初始化,假如我想让192.168.10.10:4321这个库的优先级比较高,一直处于primary角色.

use admin

rs.initiate({

        "_id" : "digoal",

        "version" : 1,

        "members" : [

                {

                        "_id" : 0,

                        "host" : "192.168.10.10:4321",

                        "priority" : 2

                }

        ]

})

4. 新增local.system.profile

如果开启了profile参数,转换成replicaSet后会报错,需要增加system.profile的collection

连接到primary以及slave执行

use local

db.createCollection( "system.profile", {capped:true , size:4000000})

一般需要在所有数据库都创建,所以

show dbs

然后进入库去执行. 如

use test

db.createCollection( "system.profile", {capped:true , size:4000000})

5. 启动SLAVE

mongod --replSet=set_name -f mongod.conf

6. 重新配置主节点rs.conf

use admin

rs.reconfig({

        "_id" : "digoal",

        "version" : 1,

        "members" : [

                {

                        "_id" : 0,

                        "host" : "192.168.10.10:4321",

                        "priority" : 2

                },

                {

                        "_id" : 1,

                        "host" : "192.168.10.11:4321"

                }

        ]

})

7. 等待recover完成

8. Slave节点新增local.system.profile

use local

db.createCollection( "system.profile", {capped:true , size:4000000})

9. 新增其他slave

小结, 因为单节点的mongoDB转成replicaSet时需要初始化local数据库,如果local设置得比较大的话可能导致初始化耗时比较长.

因此建议上线的时候就配置成单节点的replicaSet.

时间: 2024-10-29 13:53:35

mongoDB single db convert to replicaSet的相关文章

Use mongodb 1.8.1's replicaSet with auth,journal,keyFile feature

MongoDB replicSet 1.8.1 产品部署推荐: 1. 文件系统加载时使用参数noatime 2. no VM PAGEs 3. 推荐使用逻辑卷,文件系统推荐ext4或xfs 4. 3个full nodes 或 2个full nodes+1个arbiter node (最好是奇数个物理服务器,否则仲裁会有问题,例如两台物理机,两个mongod进程,相互网络不通的话,任何一台都无法达到majority,因此都无法成为primary.那就是只读了.因此本例的物理服务器只有2台是不合理的

mongoDB's GridFS used with replicaSet and sharding

版本: mongodb 1.6.5 x64 bin 环境图:    看到这个图是不是有点像RAID1/0的存储方式. 描述:Server1 : 172.16.3.174/app/mongodb1.6.5/bin/mongod --config /app/mongodb1.6.5/conf/mongod1953.conf --shardsvr --replSet rep/172.16.3.176:1954/app/mongodb1.6.5/bin/mongod --config /app/mong

8天学通MongoDB——第三天 细说高级操作

原文:8天学通MongoDB--第三天 细说高级操作     今天跟大家分享一下mongodb中比较好玩的知识,主要包括:聚合,游标. 一: 聚合       常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce. <1> count         count是最简单,最容易,也是最常用的聚合工具,它的使用跟我们C#里面的count使用简直一模一样.   <2> distinct        这个操作相信大家也是非常熟悉的,

mongoDB add disks and upgrade 1.8.1 to 2.0.2

一个扩容和版本升级的案例, 如下 :  mongoDB 1.8.1的replicaSet 需要对磁盘容量进行扩容,版本升级到2.0.2 .  从1.8升级到2.0需要注意的事项如下 :    1. 由于1.8版本使用的索引版本是v:0的, 2.0默认使用版本v:1的版本. 所以在1.8升级到2.0后新建的索引将会是v:1的.回退到1.8需要重建这些索引. 2. 对于使用mongoimport和mongoexport的脚本可能受到格式的影响 3. 2.0默认打开journaling选项,所以在版本

MongoDB入门教程之聚合和游标操作介绍_MongoDB

 今天跟大家分享一下mongodb中比较好玩的知识,主要包括:聚合,游标. 一: 聚合       常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce. <1> count         count是最简单,最容易,也是最常用的聚合工具,它的使用跟我们C#里面的count使用简直一模一样.  <2> distinct        这个操作相信大家也是非常熟悉的,指定了谁,谁就不能重复,直接上图.  <3> gr

pymongo实现控制mongodb中数字字段做加法的方法

 这篇文章主要介绍了pymongo实现控制mongodb中数字字段做加法的方法,涉及Python使用pymongo模块操作mongodb数据库字段的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了pymongo实现控制mongodb中数字字段做加法的方法.分享给大家供大家参考.具体分析如下: 这个非常实用,比如我们需要给文章做访问统计,可以设置一个数字字段:hit,然后每次点击后给改字段增加1即可 ? 1 2 3 4 5 6 7 8 9 import pymongo #导

Increasing the OpLog Size in MongoDB(don&#039;t need full resync)

OpLog用于MongoDB数据库复制场合,特征: 1. 设置容量上限, 2. 循环使用 3. local数据库专用 对于MongoDB来说设置好适当的OpLog上限是非常有必要的,因为加大OpLog Size需要重启Master和Slave数据库,并且Slave数据库需要重新同步(full sync). 如果不做FULL SYNC,看看会出现什么样的情况: MASTER: [root@db6 data1]# /opt/mongodb-linux-x86_64-1.6.4/bin/mongo 1

Windows下安装MongoDB

1.下载MongoDB数据库http://fastdl.mongodb.org/win32/mongodb-win32-i386-1.6.5.zip:      2.将安装文件解压到C盘(注意:安装路径中不能出现空格),配置"环境变量",将 %MONGODB_HOME%in 添加到"Path"中:      3.进入DOS窗口,设置数据保存目录(与端口)和日志输出目录.   DOS命令:      mongod --port <端口> --dbpath 

Linux下MongoDB的安装,通过配置文件启动Mongodb的方式研究,mongodb自启动脚本(Linux),Windows下安装MongoDB服务

关于MongoDB的windows的 安装,可以参考: http://www.runoob.com/mongodb/mongodb-window-install.html 关于Linux的安装可以参考: http://www.runoob.com/mongodb/mongodb-linux-install.html 使用MongoDB的场景: A:需要写入大量的数据,但是这些数据的价值并不是太高,比如:日志 B:数据增长量较大,而且数据结构有时候还不一致 C:未来数据会很大. 注意:Mongod