【问题标题】:Old Elasticsearch shards are not deleted after relocation重定位后不会删除旧的 Elasticsearch 分片
【发布时间】:2017-01-11 21:35:17
【问题描述】:

我们的 Elasticsearch 集群有两个数据目录。我们最近重新启动了集群中的所有节点。成功重启过程后,我们观察到少数节点上的磁盘空间使用量增加。当我们检查数据目录中的文件夹时,我们发现有孤立的分片。

例如,一个孤立的分片“15”存在于位置 data_dir0/cluster_name/nodes/0/indices/index_name/15,而同一分片“15”的副本之一存在于其他数据目录内的同一节点上,在 data_dir1/cluster_name/nodes/0/indices/index_name/15 处。 data_dir1 中的分片“15”也包含在集群元数据中,因此,我们假设 data_dir0 中的分片“15”是孤立分片,必须由 Elasticsearch 删除。但是 Elasticsearch 还没有删除孤立的分片,即使在上次重启后 6 天之后也是如此。

我们发现这个主题https://discuss.elastic.co/t/old-shards-on-re-joining-nodes-useful/182661 与我们的问题相关,但它对我们没有帮助,因为在 ES 中没有处理那个孤立的分片。我们还在 Elastic 论坛上提出了这个问题,但我们没有得到快速回复。所以,我在这里问它,因为堆栈溢出有更大的社区。​​p>

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    这也发生在我们的集群上,我们运行弹性 6.1.3。一个特定节点使用了 88% 的磁盘,似乎在我们的生产索引上之前的重定位有一些碎片剩余。

    为了解决这个问题,我在节点上停止了 Elasticsearch(确保您的其他数据节点上有足够的磁盘空间),让弹性的重定位来完成它的工作。完成并重新平衡后,删除 index 文件夹并再次启动 Elasticsearch,这很轻松。

    【讨论】:

      【解决方案2】:

      您运行的是哪个版本的 Elasticsearch?

      你的集群是绿色的吗?如果是这样,Elasticsearch 应该在初始化期间删除这些分片文件。但如果该分片在节点重新加入集群时具有未分配的副本,则 Elasticsearch 不会删除磁盘上预先存在的分片文件。

      如果不需要分片,可以手动删除目录。或者您可以尝试在节点上重新启动 Elasticsearch 并让它为您删除文件。

      【讨论】:

        【解决方案3】:

        我们还从 Elastic 论坛获得了帮助 https://discuss.elastic.co/t/old-shards-not-deleted-upon-relocation/71161/6

        重启节点没有帮​​助,我们不想手动删除文件夹。所以,我们要一一替换受影响的节点。

        @chani 如果您能提供手动删除建议的任何官方链接,那就太好了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-03
          • 2021-12-01
          • 2012-12-16
          • 1970-01-01
          相关资源
          最近更新 更多