【问题标题】:migrate indexes from old version of elasticsearch to elasticsearch 7.9将索引从旧版本的 elasticsearch 迁移到 elasticsearch 7.9
【发布时间】:2021-02-04 19:28:26
【问题描述】:

我们想在我们的项目中将我们的 elasticsearch 版本从 5.6 升级到 7.9。

我必须将我们的索引和文档迁移到新版本,但我不能使用 reindex,所以我让高级客户端连接到 elasticsearch 7 并使用 http 请求进行 elasticsearch 5。

对于迁移,我使用 match_all 查询获取部分文档并从旧版本滚动并使用批量请求在新的 elasticsearch 中将它们编入索引。

我们的旧版本 elasticsearch 有 3 个节点。我的问题是我必须分别向所有节点发送请求并处理文档,或者如果我将 match_all 查询搜索发送到 一个节点将由 elsaticsearch 处理(我读到了有关处理请求的协调节点的信息,每个节点都隐含地是一个协调节点cordinating node。)或者我必须向数据节点发送请求

【问题讨论】:

    标签: elasticsearch elasticsearch-5 elasticsearch-7


    【解决方案1】:

    当您启动 elsticsearch 集群时,您可以将所有集群视为一个数据库。这意味着您可以通过向其中一个集群发送请求来获取和插入所有集群。您只需将您的请求发送到一个节点并获取您的数据。

    【讨论】:

      【解决方案2】:

      在@saeednasehi 答案中添加更多详细信息,您似乎对 Elasticsearch 及其查询在内部的工作方式感到困惑,请参阅 my answer to how search queries works in elasticsearch

      除此之外,您可以通过连接到任何节点来获取数据,但是在您的 ES 客户端(JHLRC 或 HTTP)中 您应该提及所有节点 IP,以便您的请求(注意协调)加载分布在所有数据节点中,如果你只给一个节点IP,那么在没有专用协调节点的情况下,该节点始终充当协调节点(默认)。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-26
      • 2021-04-01
      • 2017-06-05
      • 2021-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多