V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
JCZ2MkKb5S8ZX9pq
V2EX  ›  MongoDB

MongoDB 4.0 upgrade to 4.4 meet Abort Tray: 6 Error

  •  
  •   JCZ2MkKb5S8ZX9pq · 2020-12-27 08:34:56 +08:00 · 2842 次点击
    这是一个创建于 1431 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 第一次从 4.0 、4.2 、4.4 升级后一切正常,数据库可用。但是马上重启了电脑,然后再从 4.4 启动就碰到了 Abort Tray 6 。

    • 第一次看 log 是 4.2 升 4.4 某些东西不认,让我回 4.2 。结果到 4.2 启动直接崩了。

    • DB 有备份,读档后从 4.0 又升了一遍,结果还是升到 4.4 的时候一切顺利,然后重启又挂了。

    • 会不会和我重启太快有关?是不是 mongo 还要干点别的啥需要点时间,所以升级完要让它缓一会儿?这次说是有 WiredTiger 版本不明。

    • 目前先回档到 4.0 了,毕竟几十个 G 复制一下也挺麻烦的。蹲个解答。

    11 条回复    2020-12-29 01:06:06 +08:00
    wongy
        1
    wongy  
       2020-12-27 10:10:12 +08:00
    我的 mongodb 一直是 4.0.7,看来是不能乱升级了。
    MeteorCat
        2
    MeteorCat  
       2020-12-27 11:44:59 +08:00 via Android
    不要乱升级,我也被滚挂过,你是不是指定源配置的 MongoDB
    JCZ2MkKb5S8ZX9pq
        3
    JCZ2MkKb5S8ZX9pq  
    OP
       2020-12-27 12:13:58 +08:00
    @wongy
    @MeteorCat

    两次升完直接用都是好的,升级很顺利,操作一下半分钟,我怀疑是跟我立刻重启有点关系。
    而且这还没复制集。
    因为升级好之后都跑了几分钟爬虫,数据库还变了。每次回滚也不能根据大小判断,只能全部拷一遍回来,再从 4.0 升起,太麻烦了。

    说实话新特性暂时用不上,不敢瞎折腾了。
    rrfeng
        4
    rrfeng  
       2020-12-27 13:20:47 +08:00 via Android
    估计没有正常关闭
    Lemeng
        5
    Lemeng  
       2020-12-27 16:28:42 +08:00
    不怎么敢升级,都是看完反馈后,没人说有问题,而且有有必要升,才升级
    hantsy
        6
    hantsy  
       2020-12-27 17:57:22 +08:00
    Docker 升级?
    JCZ2MkKb5S8ZX9pq
        7
    JCZ2MkKb5S8ZX9pq  
    OP
       2020-12-27 21:17:32 +08:00
    @Lemeng 有什么特别推荐的新功能嘛?我扫了一眼感觉没有特别用得上的
    onion83
        8
    onion83  
       2020-12-28 10:36:54 +08:00
    Mongodb 就这特性 一般同版本升级问题不大,但是跨版本升级可能问题就大了 在 3.x 系列就遇到过坑,一般的操作是小版本平滑升级 如 4.0 -> 4.2 -> 4.4,mongodb 的更新策略比较激进,会采用直接不兼容的策略,鼓励(坑)你升级到最新版本,所以如果不最求新特性,并且 1 年之内没更新过就不要考虑直接替换程序更新了,挂的几率 > 90%

    最稳妥的操作是采用 mongodump 导出再导入的方式,先评估下数据有没丢,驱动是否正常工作。如果是生产环境还要考虑是否要做热迁移,是否需要停机等。

    快过年了,如果是公司项目我建议别折腾,没事找事干。
    euler13
        9
    euler13  
       2020-12-28 12:37:25 +08:00
    mongdb 升级坑很多,珍爱生命,远离 mongo 。
    一个数据库两年没升级,OS 升级了, 再尝试 把 mongodb 启动起来, 结果要从 3.x 一个版本一个版本升,升 N 次才能升级到新版本。加上新的 OS 上面安装老版本的 mongo 非常麻烦,新老版本兼容性太差,果断放弃。
    JCZ2MkKb5S8ZX9pq
        10
    JCZ2MkKb5S8ZX9pq  
    OP
       2020-12-28 16:56:37 +08:00
    @onion83 嗯,dump 导出这个的确应该是最稳妥的方式了。不过我 db 和 collection 众多,会不会操作很繁琐?另外 index 之类的怎么办呢?有什么好的实践流程嘛?
    onion83
        11
    onion83  
       2020-12-29 01:06:06 +08:00   ❤️ 1
    @JCZ2MkKb5S8ZX9pq mongodump 可以并行导入和导出,具体看 --help 几十 G 数据不算太大问题,不过 mongodb 对磁盘 IO 要求很高,我的做法会开一台超大内存的机器,将 data 文件夹放到 /dev/shm 中然后开 10 个线程并发导入,速度直接 x10 以上,弄好后再将结果拷贝回磁盘中,重新启动实例,屡试不爽。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1035 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:03 · PVG 05:03 · LAX 13:03 · JFK 16:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.