0

所以我有一个相当简单的 Node.js 应用程序在单个服务器上运行,使用 mongoDB 作为主数据库,使用 elasticsearch 作为“副本集”,仅在 ES 中索引搜索相关字段。我需要升级,因为旧版本与以下划线开头的字段冲突(例如“_id”)。

有没有办法在几乎没有停机时间的情况下升级 elasticsearch - 而不会退回到 mongoDB?在这种情况下备份弹性搜索的正确方法是什么?如果出现问题,恢复备份的步骤是什么?

TLDR:在这些版本之间备份然后升级的正确方法是什么?

4

2 回答 2

2

我绝对不会那样活。而且我怀疑它是否真的可行,因为在节点之间的数据序列化方面,0.90 与 1.0 不兼容。

另外,我猜你的 JVM 需要更新。

关于备份,您应该:

  • 停止索引
  • 刷新剩余操作
  • 潜在地优化索引
  • 制作每个索引的每个分片的副本(例如 rsync)

我的 2 美分。

于 2015-10-20T19:21:27.933 回答
0

由于您目前拥有的数据量并不大,也许解决方案是建立一个全新的 1.7 集群,在其中索引您的数据然后翻转开关,即您让您的节点应用程序指向新的 1.7 集群而不是旧的 0.90.7 之一。这应该够了吧。

注意:理想情况下,ES 1.7 需要 Java 8,但也支持 Java 1.7.0_55 或更高版本,因此使用 1.7.0_79,您应该可以在 Java 前端继续前进。

于 2015-10-21T05:20:59.780 回答