分片新增configsvr

MongoDB需要13configsver实例,否则不能启动

 

1.从原配置服务(21000)导出config库并导入新的配置服务(21001,21002)

 

# mongodump --port 21000 -d config  #导出
# mongorestore --port 21001 -d configdump/config   #
导入
# mongorestore --port 21002 -d configdump/config    #
导入

重启mongos服务

重启所有shard服务实例

扩容完成

 

 

 

#############################

分片缩减configsvr

以前有三个configdb ,现在只需要一个,操作过程:

 

mongos 启动时,只需要配置一个configsvrip 和端口

mongos --configdb 192.168.13.11:21000  --port 30000

 

重启mongos服务

重启所有shard服务实例

#####################################################

 

different config 报错

Error: error: {

        "$err" :"setShardVersion failed shard:shard2:shard2/192.168.13.11:22002,192.168.13.12:22002 { configdb: { stored:\"192.168.13.11:21000,192.168.13.12:21000,192.168.13.13:21000\", given:\"192.168.13.11:21000\" }, ok: 0.0, errmsg: \"mongos specified adifferent config database string : stored :192.168.13.11:21000,192.168.13.12:21000,192.168.13.13:21000 vs given :192.168.13.11:21000\", $gleStats: { lastOpTime: Timestamp 0|0, electionId:ObjectId('58255aae0182cbf39c07f16b') } }",

 

如果缩减和增加 config 链接mongo

查询库表 新增新库表 出现以上报错,采用一下方法会解决问题

重启mongos服务

重启所有shard服务实例