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




相关内容

热门资讯

卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...
美国动武后,外国领导人首次到访... 当地时间24日,哥伦比亚总统佩特罗抵达委内瑞拉。据悉,他将与委代总统德尔西·罗德里格斯举行会晤。这是...
特朗普权力游戏,正在掏空美国制... 2026年3月,美国国土安全部长诺姆被特朗普以一则帖子宣告出局,不到一个月,司法部长邦迪又以几乎同样...
伊朗晒出另一张“王炸”! 伊朗塔斯尼姆通讯社4月22日报道称,海湾阿拉伯国家的海底数据光缆仍存在在霍尔木兹海峡被切断的风险。这...
工业经济向新向好稳中有进(权威... 本报记者 王 政 刘温馨数据来源:工业和信息化部 制图:张芳曼“一季度,规模以上工业增加值同比增长6...
特朗普坚称伊朗内部“严重分裂”... 【文/观察者网 陈思佳】伊朗拒绝出席原定于4月22日在巴基斯坦举行的伊美第二轮谈判后,美国总统特朗普...
谷歌挑战英伟达 当地时间4月19日,有媒体援引知情人士的话报道称,Alphabet旗下的谷歌正在与美国无晶圆厂半导体...