【问题标题】:Can I add a seed member on version 3.0 or 3.4 to a MongoDB replica set with members that are on version 2.6.8?我可以将版本 3.0 或 3.4 上的种子成员添加到具有版本 2.6.8 上的成员的 MongoDB 副本集中吗?
【发布时间】:2017-06-20 15:11:55
【问题描述】:

我想将所有成员升级到 3.4,但是,如果出现任何问题,我希望能够切换回 2.6.8。为了做到这一点,我希望向现有副本集(在 2.6.8 上)添加一个新成员 3.0 或 3.4 成员,复制数据,然后将其拆分并在 3.4 上创建一个单独的副本集。断开同步的 3.x 成员后,我将向其添加更多 3.x 成员并将我的应用程序切换为使用新的副本集。如果应用程序中断,我打算切换回旧的副本集。我读到副本集成员可以在不同的版本上。我无法找到有关特定版本和潜在问题的信息。另外,我之所以一直提到3.0和3.4,是因为我开始规划的时候,最新的版本是3.0,我还听说我要逐步升级成员,所以从3.0到3.2再到3.4。有什么建议吗?

【问题讨论】:

    标签: mongodb replication replicaset sql-update database


    【解决方案1】:

    这似乎记录在 Mongo Release Notes for 3.0、3.2 和 3.4 中。

    https://docs.mongodb.com/manual/release-notes/3.4-upgrade-replica-set/

    “将现有的 MongoDB 部署升级到 3.4,您必须运行 3.2 系列版本。

    要从 3.2 系列之前的版本升级,您必须连续 >升级主要版本,直到升级到 3.2 系列。例如,如果 >您运行的是 3.0 系列,则必须先升级到 3.2,然后才能 >升级到 3.4。”

    https://docs.mongodb.com/manual/release-notes/3.2-upgrade/ https://docs.mongodb.com/manual/release-notes/3.2-downgrade/

    “要将现有的 MongoDB 部署升级到 3.2,您必须运行 3.0-> 系列版本。

    要从 2.6 系列版本升级,您必须先升级到最新的 3.0 系列版本,然后再升级到 3.2。有关从 2.6-> 系列升级到 3.0 系列版本的过程,请参阅升级到 3.0。”

    https://docs.mongodb.com/manual/release-notes/3.0-upgrade/

    “要将现有的 MongoDB 部署升级到 3.0,您必须运行 2.6。如果 >您正在运行 2.6 之前的 MongoDB 版本,则必须在 >升级到 3.0 之前升级到 2.6。有关过程,请参阅升级到 2.6从 2.4 升级到 >2.6。一旦升级到 MongoDB 2.6,就不能降级到任何早于 MongoDB 2.4 的版本。”

    在之前的项目中,我们必须从 2.6.8 -> 3.0 升级(以滚动方式升级成员以保持集群正常运行)。我们的回滚计划是在这一点上决定一切是否正常,如果不能回滚到 2.6.8。如果没问题,从 3.0 -> 3.2 升级(同样,滚动升级)。我们没有尝试两步降级,但我想根据 Mongo 的文档,理论上是可能的。从 3.4 开始,您必须查看发行说明,看看理论上是否可行!

    另外请注意,您需要考虑升级您的客户端驱动程序。客户端驱动程序版本也存在兼容性问题。

    【讨论】:

    • 是的,我看到了文档!根据文档,我决定不向现有的 2.6.8 副本集添加 3.4 种子成员,这没有意义。但是,Mongo 3.0.x 成员可以兼容添加到包含 2.6.8 上成员的副本集,这是有道理的。所以我添加了一个 3.0.15 种子成员——这很成功,或者到目前为止!感谢您的回复。
    猜你喜欢
    • 2018-02-27
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    相关资源
    最近更新 更多