日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Attention To, Convert To Capped Collection

發(fā)布時間:2025/3/21 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Attention To, Convert To Capped Collection 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
假設(shè)3個節(jié)點(diǎn)的replica Set,其中有一個collection包含索引已經(jīng)50GB了,所在的數(shù)據(jù)庫分區(qū)空間剩余不足50GB。 需要將這個collection轉(zhuǎn)換成cappedCollection。 需要注意哪些? 先來看看轉(zhuǎn)換操作的特點(diǎn): 1. 首先convertToCapped操作包含了以下內(nèi)容, "cloneCollectionAsCapped" : "$yourCollection", "toCollection" : ".tmp.convertToCapped.$yourCollection", "size" : $定義的大小 其實(shí)是先創(chuàng)建好cappedCollection,然后克隆數(shù)據(jù)。
2. convertToCapped操作還是一個寫鎖操作,非常危險。 convertToCapped: write-lock { convertToCapped:<fromCollectionName>, size:<sizeInBytes> }
結(jié)合這兩點(diǎn),我們應(yīng)該注意啥呢? 1. 避免直接在PRIMARY節(jié)點(diǎn)操作. 可以選擇先將其中的一個SECONDARY節(jié)點(diǎn)從replicaSet去除, 轉(zhuǎn)換好在加進(jìn)來并且轉(zhuǎn)換為PRIMARY角色。 2. 由于是拷貝的操作,所以需要有足夠的剩余空間,但是顯然這里剩余空間是不夠的,所以需要先騰出足夠的空間來做轉(zhuǎn)換操作。(可能需要重建庫才能縮減存儲空間) 3. cappedCollection在_ID上是不建索引的,并且事先建立索引也將影響拷貝速度,所以建議先將索引全部刪除再開始轉(zhuǎn)換操作。
另外需要注意的是,節(jié)點(diǎn)拆除之后,被拆除的節(jié)點(diǎn)需要進(jìn)入非replicaSet啟動模式,否則啟動后不能做寫操作。例如注釋掉兩行: # replSet=blss # autoresync=true 再次加入replicaSet之后,啟動的時候需要將注釋去掉,并且加入啟動參數(shù) :? --replSet blss/192.168.xxx.xxx:xxxx,192.168.xxx.xxx:xxxx,192.168.xxx.xxx:xxxx? replSet這里要寫全,否則新加入的節(jié)點(diǎn)會認(rèn)為自己的配置文件里面沒有自己,無法加入到replicaSet. PRIMARY節(jié)點(diǎn)報錯 :? { "_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" } 新加入中的節(jié)點(diǎn)報錯 :? Wed Nov ?2 07:50:20 [startReplSets] replSet caught exception in startReplSets thread: replSet error self not present in the configur ation

【其他參考】 30G的collection,轉(zhuǎn)cappedCollection. 耗時73688秒,還沒有轉(zhuǎn)結(jié)束。 > 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" } ] }

總結(jié)

以上是生活随笔為你收集整理的Attention To, Convert To Capped Collection的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。