window搭建mongodb副本集

mongodb服务搭建副本,一台服务器多个端口

一、创建副本集

1、建立文件夹

F:mongoDB> mkdir F:mongoDBmdb0
F:mongoDB> mkdir F:mongoDBmdb1
F:mongoDB> mkdir F:mongoDBmdb2

2、关闭服务器端口

以管理员身份打开 windows PowerShell
以下全部为以管理员身份打开

未关闭状态下会按服务服务端启动,第4步配置初始化时出错,提示“This node was not started with the replSet option”
重新从第2步开始操作

C:Users29059>net stop mongodb

3、手动运行mongodb服务,三个服务端口要全部运行

打开新的Windows PowerShell,进入到安装目录 运行服务(三个独立Shell)

F:mongoDBmongodb-4.0.12in> ./mongod --replSet mdb --port 27017 --dbpath F:mongoDBmdb0 --smallfiles --oplogSize 128

F:mongoDBmongodb-4.0.12in> ./mongod --replSet mdb --port 27018 --dbpath F:mongoDBmdb1 --smallfiles --oplogSize 128

F:mongoDBmongodb-4.0.12in> ./mongod --replSet mdb --port 27019 --dbpath F:mongoDBmdb2 --smallfiles --oplogSize 128

服务器连接必须为OK状态,否则结束进程,重新动行mongodb服务

4、配置

新建Shell进入mongo

F:mongoDBmongodb-4.0.12in> ./mongo --port 27017

rs.initiate()初始化副本集对象

MongoDB Enterprise > rs.initiate({_id:'mdb',members:[
... {_id:0,host:'127.0.0.1:27017'},
... {_id:1,host:'127.0.0.1:27018'},
... {_id:2,host:'127.0.0.1:27019'}]})

结果

{
        "ok" : 1,
        "operationTime" : Timestamp(1576656206, 1),
        "$clusterTime" : {
                "clusterTime" : Timestamp(1576656206, 1),
                "signature" : {
                        "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                        "keyId" : NumberLong(0)
                }
        }
}

设置副本节点可读,进入mongo 27018 ,27019分别执行获取信息

db.getMongo().setSlaveOk()

查看连接状态

MongoDB Enterprise mdb:PRIMARY> rs.status()

查看主副本

MongoDB Enterprise mdb:PRIMARY> db.isMaster()

二、增加副本集

1> 创建文件夹:

F:mongoDBmongodb-4.0.12in> mkdir F:mongoDBmdb3

2> 创建端口打开服务:新建windows Shell

./mongod --replSet mdb --port 27020 --dbpath F:mongoDBmdb3 --smallfiles --oplogSize 128

3> 增加副本集:

MongoDB Enterprise mdb:PRIMARY> rs.add(‘127.0.0.1:27021’)

三、移除副本集:

1> 新建windows Shell 进入副本节点,停用服务

F:mongoDBmongodb-4.0.12in> ./mongo --port 27020
MongoDB Enterprise mdb:SECONDARY> use admin
MongoDB Enterprise mdb:SECONDARY> db.shutdownServer()

2> 主服务器中移除对应的节点

MongoDB Enterprise mdb:PRIMARY> rs.remove(‘127.0.0.1:27020’)

修改主从

获取config ,并修priority改黑认权重

 conf=rs.config()
 conf.members[0].priority=10
 conf.members[1].priority=5
 conf.members[2].priority=1
 rs.reconfig(conf)
原文地址:https://www.cnblogs.com/hnkjdx-ssf/p/14911823.html