3.0.2→3.2.12 Sharded Cluster升级
admin
2023-01-19 06:40:50
0次

前期准备:

    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未切换到其他节点,就将节点关闭了。




相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...