上一篇写到集群的分片,
这次在这里做个小结:
在测试的时候发现以前的数据都是经过压缩之后再存储的。所以存在一个问题:
新建的切片上数据没有经过压缩,跟以前的数据压缩冲突。
解决办法:
把新建的切片也设置为存储压缩模式。如下:
D:\MongoDBWiredTiger\bin>mongod --shardsvr --storageEngine wiredTiger --port 966
7 --dbpath "d:\MongoDBWiredTiger\data\db" --logpath "d:\MongoDBWiredTiger\data\l
og\MongoDB.log"
在这之上还存在一个问题:在没设置压缩之前已经在切片中存入了没压缩的数据,怎么避免数据迁移的问题。如下:
删除现有切片,数据会回滚到其他切片上。假如现在有2个切片,你把切片2删除,数据会全部返回到切片1上。
删除分片命令如下:
db.runCommand({removeshard:"192.168.9.51:2001"})
前提:是在路由服务器启动该命令