mongodb2.6 sharding 升级到 mongodb3.0 sharding

mongodb 集群一般是shard(分片)+ replicateSet(副本集)+mongos(路由)+config(配置服务)

最重要的第一部:备份 config配置服务上的所有DB

实践:
总目录为:
mongodb2.6 sharding 升级到 mongodb3.0 sharding_第1张图片
mongodb2.6分片

172.31.107.1:27011     cluster001
172.31.107.1:27012     cluster002
172.31.107.1:27013     cluster003
mongodb2.6 sharding 升级到 mongodb3.0 sharding_第2张图片

172.31.107.2:27011     cluster001
172.31.107.2:27012     cluster002
172.31.107.2:27013     cluster003

mongodb2.6 sharding 升级到 mongodb3.0 sharding_第3张图片
172.31.107.3:27011     cluster001
172.31.107.3:27012     cluster002
172.31.107.3:27013     cluster003
mongodb2.6 sharding 升级到 mongodb3.0 sharding_第4张图片
172.31.107.1:27021     config配置服务器DB
172.31.107.2:27021     config配置服务器DB
172.31.107.3:27021     config配置服务器DB
mongodb2.6 sharding 升级到 mongodb3.0 sharding_第5张图片
172.31.107.1:27020     mongos路由
172.31.107.2:27020     mongos路由
172.31.107.3:27020     mongos路由
mongodb2.6 sharding 升级到 mongodb3.0 sharding_第6张图片
//////////////////////////////////////////////////////////

mongodb3.0分片

172.31.107.1:27021     config配置服务器DB
172.31.107.2:27021     config配置服务器DB
172.31.107.3:27021     config配置服务器DB
mongodb2.6 sharding 升级到 mongodb3.0 sharding_第7张图片
172.31.107.1:27020     mongos路由
172.31.107.2:27020     mongos路由
172.31.107.3:27020     mongos路由
mongodb2.6 sharding 升级到 mongodb3.0 sharding_第8张图片
登录mongodb2.6分片上的第一组mongos(172.31.107.1:27020 ):
一、关闭 平衡器时间窗口 disable the balancer
mongos>sh.setBalancerState(false)     #disable
mongos>sh.getBalancerState()     #check
或者
configsvr>use admin
configsvr>db.settings.update({_id:"balancer"},{$set:{stopped:true}},{upsert:true});

二、升级分片cluster's元组 meta data数据
2.1关闭mongos:
mongos>use admin
mongos>db.shutdownServer()
>exit
2.2 开始升级 meta data
shell环境下跳转到  /root/mongodb3.0mongos/bin  目录下执行升级命令:
[root@vlnx107001 bin]# ./mongos -f /root/mongodb2.6mongos/conf/mongod.conf --upgrade

2.3验证升级日志:
mongodb2.6 sharding 升级到 mongodb3.0 sharding_第9张图片
2.4、重启第一组mongos 验证是否成功

2.5、紧接着升级剩余的第二第三组 mongos的 meta data
     即 重复 2.1到 2.4步骤


三、升级 config配置服务器DB
3.1 导出mongodb2.6 config中的DB;
 ./mongodump --port 27021 -o /tmp/mongodbconfig
3.2 关闭config服务 和 mongos 服务;
[root@vlnx107001 bin]# ./mongo --port 27021
configsvr> use admin
configsvr> db.shutdownServer()
> exit
mongos>use admin
mongos>db.shutdownServer()

3.3 将导出的DB 还原到mongodb3.0的 config配置服务器的DB中
cd /root/mongodb3.0conf/bin
./mongod -f /root/mongodb3.0conf/conf/mongod.conf     #启动 mongodb3.0 配置服务
./mongorestore --port 27021 --dir /tmp/mongodbconfig --drop    #将备份的DB 还原到 配置 服务器对应的DB中

3.4 按照3.1到3.3的步骤 继续升级剩余的 第二第三组config


四、升级分片中的所有 复制集成员到mongodb3.0 版本
详见 《mongodb2.6 replSet 升级到 mongodb3.0 》

五、打开均衡器
mongos>sh.setBalancerState(true)
mongos>sh.getBalancerState()     #check
configsvr>use admin
configsvr>db.settings.update({"_id":"balancer"},{$set:{stopped:false}},{upsert:true});


你可能感兴趣的:(mongodb,sharding)