【问题标题】:Indices Red/Dangling when upgrading Elasticsearch cluster from 2.x to 5.x in docker在 docker 中将 Elasticsearch 集群从 2.x 升级到 5.x 时出现红色/悬空索引
【发布时间】:2017-06-21 06:03:27
【问题描述】:

我管理一个小型 ELK 堆栈,该堆栈驻留在一个 docker 主机上,该主机具有 3 个节点的 elasticsearch 集群、一个主节点、一个客户端节点和一个数据节点,每个节点都运行 elasticsearch 2.4.x。这些节点中的每一个都安装了与 elasticsearch 数据目录相同的主机目录绑定,即使只有数据节点需要它。

在测试到 5.x 的升级路径时,我遇到了一个非常奇怪的问题。集群会重新启动,但不会初始化任何 2.x 创建的索引,引发错误:

[o.e.g.DanglingIndicesState] [elastic-data] [[logstash-2017.02.01/pBco8d7dQAqmZoI37vUIOQ]] dangling index exists on local file system, but not in cluster metadata, auto import to cluster state

索引永远不会初始化并保持红色。堆栈可以很好地创建新的索引,如果我删除这些索引,系统会正常工作,但如果我要在生产系统上执行此操作,那么数据丢失肯定不是最佳的。

【问题讨论】:

    标签: elasticsearch docker elastic-stack


    【解决方案1】:

    事实证明,主节点和客户端节点一直在挂载数据目录是导致此问题的原因。 Elasticsearch 5.x 对数据目录强制执行 1 个节点的默认限制,虽然主节点和客户端 2.x 节点没有主动进行数据管理,但它们影响了文件夹结构。通过首先从 2.x 集群上的主服务器和客户端删除绑定挂载并让它自行排序,然后升级到 5.x,我能够对所有绿色索引进行干净升级。希望这对遇到此问题的其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-08
      • 2019-11-30
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多