Mongodb单节点升级副本集
2020-08-10 18:08
1006 查看
之前的文章也有说到过正式环境,不建议使用单节点,Mongodb备份恢复到任意时间点,在这一篇中说过。
由于历史原因,我们有一个不太重要的业务,正式环境使用单节点,随着业务增长,需要升级为副本集保证高可用。
由于需要重启服务,我们和业务线讨论决定,在凌晨业务低峰期,进行操作,数据存储目前40G左右。预计维护时间一小时。
1、原节点配置信息:
IP:10.10.20.17
对应域名:app.rs1.mongodb.com
1.1、原配置文件
systemLog: destination: file logAppend: true path: /data2/mongodb2/logs/mongodb.log storage: dbPath: /data2/mongodb2/data journal: enabled: true directoryPerDB: true wiredTiger: engineConfig: journalCompressor: none directoryForIndexes: true collectionConfig: blockCompressor: none indexConfig: prefixCompression: false processManagement: fork: true pidFilePath: /data2/mongodb2/pid/mongodb.pid net: port: 27011 bindIp: app.rs1.mongodb.com maxIncomingConnections: 5000
1.2、需要在原来配置文件增加复制集配置和认证配置:
认证配置需要注释掉,复制集配置完成,管理员用户创建完成,在开启。
#security: # keyFile: /data2/mongodb/conf/keyfile # authorization: enabled replication: replSetName: rs1
2、新节点信息:
SECONDARY 1节点 IP:10.10.20.31
SECONDARY 2 节点IP:10.0.6.44
我们使用内网域名配置:
IP:10.10.20.17 对应域名: app.rs1.mongodb.com
IP:10.10.20.31 对应域名: app.rs2.mongodb.com
IP:10.0.6.44 对应域名: app.rs3.mongodb.com
2.2、启动三个节点:
两个SECONDARY节点复制PRIMARY节点配置文件,需要修改相应的 "bindIp: 为本机的域名"
[mongod@VM_20_17_centos ~]$ /home/mongod/mongodb-3.6.9/bin/mongod -f /data2/mongodb2/conf/mongodb2.conf [mongod@VM_20_31_centos ~]$ /home/mongod/mongodb-3.6.9/bin/mongod -f /data/mongodb2/conf/mongodb2.conf [mongod@VM_6_44_centos ~]$ /home/mongod/mongodb-3.6.9/bin/mongod -f /data/mongodb2/conf/mongodb2.conf about to fork child process, waiting until server is ready for connections. forked process: 11474 child process started successfully, parent exiting #返回successfully表示启动成功
2.3、如果配置有问题返回异常:
about to fork child process, waiting until server is ready for connections. forked process: 10135 ERROR: child process failed, exited with error number 48 To see additional information in this output, start without the "--fork" option. 查看日志根据日志错误修改相应配置。
3、使用mongo shell连接到其中一个节点
[mongod@VM_20_17_centos ~]$ /home/mongod/mongodb-3.6.9/bin/mongo 10.10.20.17:27011/admin MongoDB shell version v3.6.9 connecting to: mongodb://10.10.20.17:27011/admin Implicit session: session { "id" : UUID("d4c23867-c181-4a72-ab7d-a23b4b522d04") } MongoDB server version: 3.6.9 Server has startup warnings: 2020-08-10T11:07:35.351+0800 I CONTROL [initandlisten] > config = { _id:"rs1", members:[ ... {_id:0,host:"app.rs1.mongodb.com:27011",priority:90}, ... {_id:1,host:"app.rs2.mongodb.com:27011",priority:90}, ... {_id:2,host:"app.rs3.mongodb.com:27011",priority:90} ... ] ... } { "_id" : "rs1", "members" : [ { "_id" : 0, "host" : "app.rs1.mongodb.com:27011", "priority" : 90 }, { "_id" : 1, "host" : "app.rs2.mongodb.com:27011", "priority" : 90 }, { "_id" : 2, "host" : "app.rs3.mongodb.com:27011", "priority" : 90 } ] } > rs.initiate(config); //初始化副本集 { "ok" : 1, //返回OK:1成功,返回OK:0失败 "operationTime" : Timestamp(1597029060, 1), "$clusterTime" : { "clusterTime" : Timestamp(1597029060, 1), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } } }
3.1、验证复制集数据是否同步完成
### 查看副本集PRIMARY节点数据: rs1:PRIMARY> show dbs admin 0.000GB config 0.000GB local 0.000GB test_scene 34.011GB rs1:PRIMARY> use test_scene switched to db test_scene rs1:PRIMARY> show tables; test_scene_page rs1:PRIMARY> db.test_scene_page db.test_scene_page rs1:PRIMARY> db.test_scene_page.count() 2120587 rs1:PRIMARY> ### 查看副本集其他节点成员: [mongod@VM_6_44_centos ~]$ /home/mongod/mongodb-3.6.9/bin/mongo app.rs3.mongodb.com:27011 rs1:SECONDARY> db.test_scene_page.count() 2120587 rs1:SECONDARY>
3.2、到这里我们单节点升级副本集基本完成了,还有几个步骤:
1、需要创建管理员用户,
2、并开启认证,
3、重启副本集成员节点,
这三步不详细说了请看Mongodb复制集开启认证授权
相关文章推荐
- 故障案例--mongodb副本集成员节点和投票节点的限制
- mongodb副本集中其中一个节点宕机无法重启的问题
- mongodb副本集自动切换修复节点解决方案
- MongoDB 副本集 成员节点 RECOVERING 状态处理
- MongoDB副本集主节点的选举过程
- MongoDB副本集--Secondary节点恢复实例
- mongodb 分片集群 在线添加副本集实例并升级成primay主库
- spring配置mongodb连接副本集多个节点
- mongodb副本集自动切换修复节点解决方案
- Mongodb的副本集节点角色介绍及选举过程浅析
- mongodb副本集强制其中一个节点为主库并重做副本集集群
- MongoDB架构篇-Replica Set 副本集-增加删除节点等
- mongodb 副本集去salve节点维护
- MongoDB副本集功能及节点属性梳理
- MongoDB副本集--Secondary节点实例恢复
- Mongodb副本集--切换主从节点
- MongoDB 副本集集群从节点控制台报错10061:由于目标计算机积极拒绝,无法连接
- MongoDB 副本集,偶数节点问,分片,地理空间查询
- mongoDB中分片与复制(副本集)的关系
- mongodb副本集搭建