就是超出設定的chunk大小的chunk,默認chunk大小為64M
jumbo chunk無法被遷移
# 先找到Jumbo chunk信息
sh.status(true)
{ "phone" : NumberLong("xxxxxx") } -->> { "phone" : NumberLong("yyyyyyy") } on : shard_rep1 Timestamp(1, 19) jumbo
# 執行
# 對于上面的Jumbo塊,執行如下命令
sh.splitFind("db.tb",{shardkeyX:"shardkeyXValue_in_range"})
db = db.getSiblingDB('config');
var goblins=db.chunks.find({"jumbo":true})
goblins.forEach( function (item) {
databaseDotTable = item.ns;
minShardKeyInfo = item.min;
maxShardKeyInfo = item.max
for (var i in minShardKeyInfo) {
var key=i;
var value=minShardKeyInfo[i];
if (typeof(value) === "function") {
for (var j in maxShardKeyInfo) {
value = maxShardKeyInfo[j]
}
}
}
var findFilter = {}
findFilter[key] = value
print(`Doing db.adminCommand({"${databaseDotTable}",{${key}:${value}})}`);
result=db.adminCommand({split:databaseDotTable,find:findFilter});
printjson(result)
})
1.官方推薦使用更加自動的sh.splitFind
而不是原始的sh.splitAt
函數
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。