假设3个节点的replica Set,其中有一个collection包含索引已经50GB了,所在的数据库分区空间剩余不足50GB。

需要将这个collection转换成cappedCollection。
需要注意哪些?
先来看看转换操作的特点:
1. 首先convertToCapped操作包含了以下内容,
"cloneCollectionAsCapped" : "$yourCollection",
"toCollection" : ".tmp.convertToCapped.$yourCollection",
"size" : $定义的大小
其实是先创建好cappedCollection,然后克隆数据。
2. convertToCapped操作还是一个写锁操作,非常危险。
convertToCapped: write-lock
{ convertToCapped:<fromCollectionName>, size:<sizeInBytes> }

结合这两点,我们应该注意啥呢?
1. 避免直接在PRIMARY节点操作. 可以选择先将其中的一个SECONDARY节点从replicaSet去除, 转换好在加进来并且转换为PRIMARY角色。
2. 由于是拷贝的操作,所以需要有足够的剩余空间,但是显然这里剩余空间是不够的,所以需要先腾出足够的空间来做转换操作。(可能需要重建库才能缩减存储空间)
3. cappedCollection在_ID上是不建索引的,并且事先建立索引也将影响拷贝速度,所以建议先将索引全部删除再开始转换操作。
另外需要注意的是,节点拆除之后,被拆除的节点需要进入非replicaSet启动模式,否则启动后不能做写操作。例如注释掉两行:
# replSet=blss
# autoresync=true

再次加入replicaSet之后,启动的时候需要将注释去掉,并且加入启动参数 : 
--replSet blss/192.168.xxx.xxx:xxxx,192.168.xxx.xxx:xxxx,192.168.xxx.xxx:xxxx 
replSet这里要写全,否则新加入的节点会认为自己的配置文件里面没有自己,无法加入到replicaSet.
PRIMARY节点报错 : 
{
"_id" : 2,
"name" : "192.168.xxx.xxx:xxxx",
"health" : 0,
"state" : 6,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"t" : 0,
"i" : 0
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2011-11-01T23:53:44Z"),
"errmsg" : "still initializing"
}

新加入中的节点报错 :

Wed Nov  2 07:50:20 [startReplSets] replSet caught exception in startReplSets thread: replSet error self not present in the configur
ation

【其他参考】
30G的collection,转cappedCollection.
耗时73688秒,还没有转结束。
> db.currentOp()
{
"inprog" : [
{
"opid" : 24,
"active" : true,
"waitingForLock" : false,
"secs_running" : 73688,
"op" : "query",
"ns" : "blss..tmp.convertToCapped.$myCollection",
"query" : {
"cloneCollectionAsCapped" : "$myCollection",
"toCollection" : ".tmp.convertToCapped.$myCollection",
"size" : 30000000000
},
"client" : "0.0.0.0:0",
"desc" : "conn"
}
]
}

Attention To, Convert To Capped Collection相关推荐

  1. MongoDB固定集合(capped collection)

    一 . 什么是固定集合 MongoDB中有一种特殊类型的集合,值得我们特别留意,那就是固定集合(capped collection). 固定集合可以声明collection的容量大小,其行为类似于循环 ...

  2. mongodb固定集合(Capped Collection)和大文件管理(GridFS)

    Capped Collection 固定集合(Capped Collection)是性能出色的有着固定大小的集合,以LRU(Least Recently Used最近最少使用)规则和插入顺序进行age ...

  3. capped collection

    db.stu.update({name:"Mongi"},{$set:{name:"James"}}) capped collection更新:新内容只能是和旧 ...

  4. mongodb Capped Collection

    MongoDB 支持 Capped Collection,一种固定大小的集合,当集合的大小达到指定大小时, 新数据覆盖老数据,MongoDB Replica set 中的 oplog 就是 Cappe ...

  5. 解决MongoDB报错:Cannot create collection “None“ as a capped collection as it already exist

    解决MongoDB报错:Cannot create collection "None" as a capped collection as it already exist Roo ...

  6. MongoDB 之 Capped Collection

    MongoDB 支持 Capped Collection,一种固定大小的集合,当集合的大小达到指定大小时, 新数据覆盖老数据,MongoDB Replica set 中的 oplog 就是 Cappe ...

  7. MongoDB Capped Collection 使用

    一 Capped Collection 简介  Capped Collection 是一种特殊的集合,它大小固定,当集合的大小达到指定大小时,新数据覆盖老数据.Capped collections可以 ...

  8. MongoDB之——Capped Collection

    转载请注明出处:https://blog.csdn.net/l1028386804/article/details/79995628 1.简单介绍 capped collections 是性能出色的有 ...

  9. Mongodb Capped Collection集合

    MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! ...

最新文章

  1. idea java jni 调试_IntelliJ IDEA平台下JNI编程(一)—HelloWorld篇
  2. Go借助PProf的一次性能优化
  3. verilog入门笔记
  4. 使用缓冲流有什么好处_使用档案密集柜有什么好处?不看一看会后悔
  5. 关于shiro使用心得
  6. QTP软件测试工具学习
  7. BeanUtils简介
  8. 计算机业打字排版比赛计算机实施方案,大学“新生杯”计算机打字比赛活动策划书...
  9. Chrome将网页背景变成黑色(真正的夜间模式、深色模式)
  10. 单片机通过串口与电脑通信
  11. 吹气球-LintCode
  12. 产品经理怎样提升自己的需求分析能力?
  13. goldenDict有道地址
  14. Python Spider 的总结
  15. github史上最全教程
  16. 五个温度带的分界线_初中地理知识点:我国的温度带
  17. 基于微信小程序的食堂窗口自助点餐系统设计与实现-计算机毕业设计源码和lw文档
  18. 刀塔传奇这种类型的arpg客户端战斗架构设计
  19. 个人日记-阿西莫夫的《银河帝国》系列小说第8本读后感-20200927
  20. 3d服务器播放系统,3D立体电影放映系统

热门文章

  1. 复习笔记(七)——C++友元
  2. go语言 html 模板语法,go语言快速入门:template模板
  3. pemicro识别不了驱动_usb驱动无法识别如何解决,手把手教你如何解决usb驱动问题...
  4. html2Escape js 转义
  5. 什么是分布式系统中的幂等性
  6. android toast有焦点,android – 如何在显示Toast后进行edittext自动对焦?
  7. 解决Android Studio内代码乱码
  8. android内存优化方法,Android开发内存优化注意事项和方法
  9. html5发展前景-兄弟连,IT兄弟连 HTML5教程 HTML5的曲折发展过程 HTML5的诞生
  10. 2020-12-11 图片格式互转:base64、PIL Image opencv cv2互转