【问题标题】:Why does Elasticsearch allow you to specify multiple disk partitions in the .yml file if it doesn't balance shards across partitions?如果 Elasticsearch 不能跨分区平衡分片,为什么 Elasticsearch 允许您在 .yml 文件中指定多个磁盘分区?
【发布时间】:2021-05-04 19:47:20
【问题描述】:

这是我之前在here 提出的问题的后续。

我有一个包含三个数据节点和一个头节点的集群。每个数据节点上的硬盘驱动器具有三个分区:/data1/data2/data3。我在头节点上配置了我的elasticsearch.yml,如下所示:

path.data: /data1/elasticsearch, /data2/elasticsearch_2, /data3/elasticsearch_3

我现有的索引存储在每个节点上的/data1/elasticsearch 中。但是,当我禁用复制并尝试为我的新索引加载数据时,我触发了low watermark cluster setting/data1 没有足够的空间。

查看我找到的 Elasticsearch 文档this warning

Elasticsearch 不会跨节点的数据路径平衡分片。单个路径中的高磁盘使用率可能会触发整个节点的高磁盘使用水印。如果触发,Elasticsearch 不会向节点添加分片,即使节点的其他路径有可用磁盘空间。如果您需要额外的磁盘空间,我们建议您添加一个新节点而不是额外的数据路径。

所以我的问题是:如果 Elasticsearch 不将分片分配到节点上的下一个空路径,为什么它允许您指定多个数据存储路径?

【问题讨论】:

    标签: elasticsearch replication database-replication disk-partitioning


    【解决方案1】:

    将不再允许使用多个数据路径的选项,此功能存在一些问题,例如您提到的问题以及 kibana 在同一节点上使用多个磁盘时可能显示错误的可用空间这一事实。

    根据github issue,计划在版本 7.13 中弃用多数据路径的使用并在版本 8.0 中删除。

    根据同样的问题:

    (...) 多数据路径是一项成本非常高的功能(设计中存在许多错误和缺陷),用户相对较少,最重要的是,它是 Elasticsearch 之外标准的更好替代方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-02
      • 2021-07-14
      • 2017-11-20
      • 1970-01-01
      • 2012-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多