Mongodb Replica sets 重新同步报错
来源:互联网 发布:淘宝一分钱商品 编辑:程序博客网 时间:2024/06/05 14:13
$err: "getMore executor error: CappedPositionLost CollectionScan died due to position in capped collection being deleted. Last seen record id: RecordId(1564216124)", code: 17406 }
由于记录都是一些日志表,做了capped ,一个节点数据损坏,需要重新同步,同步出现以上错误无法继续同步
这里分析一下原因,oplog也是capped collections,是固定大小的,由于写入太快,老的记录被挤出,同步的过程中,正好有需要同步的数据被挤出,也就是oplog没有了你需要同步的数据,那么就会报以上错误,所以增加oplog大小即可解决以上问题。
注意:这里增加oplog不是修改参数可以实现的
我这里是3个节点的replica sets
192.168.0.66 5285 primary
192.168.0.67 5285 secondary
192.168.0.68 5285 secondary
假如这里192.168.0.68 5285 备节点数据损坏,重建的replica sets的时候报以上错误,那么就需要192.168.0.66 5285,192.168.0.67 5285增加oplog大小
具体如下操作:
在192.168.0.67 5285上的操作:
1.关闭数据库
db.shutdownServer()
2.单节点启动
numactl --interleave=all /data01/mongodb-3.2.1/bin/mongod -f /data01/mongodb_etc/mongo_5285.conf
3.备份oplog
mongodump -h 127.0.0.1 --db local --collection 'oplog.rs' --port 5285
4.切换到local库下,删除oplog.rs,并重建
use local
db.temp.save( db.oplog.rs.find( { }, { ts: 1, h: 1 } ).sort( {$natural : -1} ).limit(1).next() )
db.oplog.rs.drop()
db.runCommand( { create: "oplog.rs", capped: true, size:10000000000 } )
db.oplog.rs.save( db.temp.findOne() )
5.加入到replica sets启动数据库
numactl --interleave=all /data01/mongodb-3.2.1/bin/mongod --replSet=test -f /data01/mongodb_etc/mongo_5285.conf
从节点修改完毕后,修改primary,primary需要手工切换到secondary
如下:
rs.stepDown()
切换后,按照以上步骤修改即可
按照以上,oplog修改完毕,重新启动损坏的节点,顺利同步完成
参考:https://docs.mongodb.com/manual/tutorial/change-oplog-size/
0 0
- Mongodb Replica sets 重新同步报错
- mongodb replica sets功能
- Mongodb Replica Sets部署
- MongoDB Replica Sets
- MongoDB Replica Sets
- MongoDB Replica Sets管理
- MongoDB Replica Sets (复制集)
- MongoDB之Replica Sets + Sharding
- Centos配置MongoDb replica sets
- mongodb集群(Shard+Replica Sets)
- mongodb replica sets搭建及使用
- MongoDB学习整理之Replica Sets安装
- MongoDB学习整理之Replica Sets + Sharding
- Mongodb Replica Sets + Sharding/配置文件启动
- MongoDB 复制集模式Replica Sets
- Simple Automated Backups for MongoDB Replica Sets
- Mongodb的Replica Sets + Sharding Architect
- mongodb集群(Replica Sets+Sharding)
- 《Windows核心编程》之”DLL注入“(二)
- 【设计模式】设计模式学习心得
- c# Datagridview控件导入/导出excel表格
- Nginx反向代理解决跨域问题
- linux svn安装配置
- Mongodb Replica sets 重新同步报错
- 消除不用参数的警告信息
- JSP HTTP 状态码
- StreamReader与StreamWriter
- RTSP/RTMP/HTTP DirectShow Source Filter
- machine-learning ex1_2
- js模块化资料,包括react+webpack
- LESS入门二
- 调用apache的mod_status与mod_info模块