前期准备:
1)3.2.12版本准备好
成都网站建设哪家好,找创新互联公司!专注于网页设计、成都网站建设、微信开发、微信平台小程序开发、集团成都企业网站建设等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都食品包装袋等众多领域,积累了大量丰富的经验,同时也获得了客户的一致赞扬!2)升级过程中,保证client不会修改集合元数据。例如:不能执行下列操作:
sh.enableSharding()
sh.shardCollection()
sh.addShard()
db.createCollection()
db.collection.drop()
db.dropDatabase()
any operation that creates a database
any other operation that modifies the cluster metadata in any way.
3)关闭balancer
4)备份config数据库
操作步骤:
1、关闭balancer
mongos> db.setBalancerState(false);2、升级shards
升级其中一个Secondary成员
关闭mongod实例,3.0命令替换成3.2
重启该成员。等待该成员集群中的状态为SECONDARY后,再升级第二个Secondary
Step Down主节点。
当rs.status()显示主节点已经是分片的其他成员,开始升级stepped-down的主节点(此时,只是role是Secondary)
关闭mongod实例,3.0命令替换成3.2
重启
3、升级config server
升级config server是有顺序的。如果启动mongos指定的config server顺序如下
//mongod_config.conf sharding: configDB: db-test01:20001,db-test02:20001,db-test03:20001
那么,升级的顺序为:db-test03 → db-test02 → db-test01
关闭db-test03 config server,并且3.0命令替换成3.2
启动3.2版本的config server,指定configsvr和port
使用命令行启动
mongod --configsvr --port 20001 --dbpath /data/mongodb/config
使用配置文件启动
sharding: clusterRole: configsvr net: port: 20001 storage: dbpath: /data/mongodb/config
依次重复启动其他configDB:db-test02、db-test01
4、升级mongos实例
无序的。替换3.2版本的mongos,重启(一个一个mongos做替换)
关闭mongos时,程序会有报错。因为mongos关闭,当前连接会断掉,之后程序尝试连接关闭的mongos连不上会连接其他mongos(如有多个mongos节点且程序配置访问多个mongos),不影响业务。
5、开启balancer
mongos> db.setBalancerState(true);升级过程中,使用脚本每秒向数据库写一条数据。观察数据写入情况
//报错信息 WriteResult({ "nInserted" : 0, "writeError" : { "code" : 94, "errmsg" : "Request contains sharding metadata, but the server has not been made sharding aware." } })可能原因:stepDown未切换到其他节点,就将节点关闭了。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:3.0.2→3.2.12ShardedCluster升级-创新互联
转载来源:http://scgulin.cn/article/eeiie.html