所以我有一个相当简单的 Node.js 应用程序在单个服务器上运行,使用 mongoDB 作为主数据库,使用 elasticsearch 作为“副本集”,仅在 ES 中索引搜索相关字段。我需要升级,因为旧版本与以下划线开头的字段冲突(例如“_id”)。
有没有办法在几乎没有停机时间的情况下升级 elasticsearch - 而不会退回到 mongoDB?在这种情况下备份弹性搜索的正确方法是什么?如果出现问题,恢复备份的步骤是什么?
TLDR:在这些版本之间备份然后升级的正确方法是什么?
所以我有一个相当简单的 Node.js 应用程序在单个服务器上运行,使用 mongoDB 作为主数据库,使用 elasticsearch 作为“副本集”,仅在 ES 中索引搜索相关字段。我需要升级,因为旧版本与以下划线开头的字段冲突(例如“_id”)。
有没有办法在几乎没有停机时间的情况下升级 elasticsearch - 而不会退回到 mongoDB?在这种情况下备份弹性搜索的正确方法是什么?如果出现问题,恢复备份的步骤是什么?
TLDR:在这些版本之间备份然后升级的正确方法是什么?
我绝对不会那样活。而且我怀疑它是否真的可行,因为在节点之间的数据序列化方面,0.90 与 1.0 不兼容。
另外,我猜你的 JVM 需要更新。
关于备份,您应该:
我的 2 美分。
由于您目前拥有的数据量并不大,也许解决方案是建立一个全新的 1.7 集群,在其中索引您的数据然后翻转开关,即您让您的节点应用程序指向新的 1.7 集群而不是旧的 0.90.7 之一。这应该够了吧。
注意:理想情况下,ES 1.7 需要 Java 8,但也支持 Java 1.7.0_55 或更高版本,因此使用 1.7.0_79,您应该可以在 Java 前端继续前进。