mognodb 分片出現{ "code" : 20, "ok" : 0, "errmsg" : "sharding not enabled for db " }
阿新 • • 發佈:2018-11-01
mongos> sh.shardCollection("mf.mb_device_login_log",{"_plat" : 1,"_uid" : 1,"_tm" : 1})
{ "code" : 20, "ok" : 0, "errmsg" : "sharding not enabled for db mf" }
檢視索引,索引存在
mongos> db.mb_device_login_log.getIndexes()
[
{
"v" : 2,
"key" : {
"_plat" : 1,
"_uid" : 1,
"_tm" : 1
},
"name" : "_plat_1__uid_1__tm_1",
"ns" : "mf.mb_device_login_log"
}
]
對db啟用分片,分片已經存在
mongos> sh.enableSharding("mf")
{
"code" : 23,
"ok" : 0,
"errmsg" : "sharding already enabled for database mf"
}
問題分析,懷疑是上次分片後,配置資料沒有及時重新整理
重新整理配置資料
mongos> db.adminCommand("flushRouterConfig")
{ "flushed" : true, "ok" : 1 }
這次執行分片成功
mongos> sh.shardCollection("mf.mb_device_login_log",{"_plat" : 1,"_uid" : 1,"_tm" : 1})
{ "collectionsharded" : "mf.mb_device_login_log", "ok" : 1 }
mongos>