Elasticsearch在实时系统上从0.90.7升级到1.7.1

时间:2015-10-20 18:43:26

标签: mongodb elasticsearch server downtime

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

关于备份,你应该:

  • 停止索引
  • 清除剩余的操作
  • 可能优化索引
  • 制作每个索引的每个分片的副本(例如rsync)

我的2美分。

答案 1 :(得分:0)

由于您当前拥有的数据量不是很大,可能解决方案是设置一个全新的1.7群集,将数据编入其中然后翻转开关,即您将节点应用指向新的1.7集群而不是旧的0.90.7集群。这应该可以解决问题。

注意:ES 1.7理想情况下需要Java 8,但也需要supports Java 1.7.0_55 or later,因此对于1.7.0_79,你应该更好地继续Java前端。