如何为 Amazon Elasticsearch Service (Amazon ES) 域增加存储空间?

上次更新时间:2020 年 4 月 6 日

我的 Amazon Elasticsearch Service (Amazon ES) 域已经耗尽了存储空间。如何增加可用存储空间?

简短描述

当您向 Amazon ES 集群节点分配存储时,不超过该空间的 20% (20 GB) 属于预留空间。如果域耗尽了存储空间,您可能会收到 ClusterBlockException 错误。要解决存储空间问题,请尝试以下操作:

  • 增加域使用的 Amazon Elastic Block Store (Amazon EBS) 卷的大小。您还可以增加 Amazon ES 域的集群节点数量。
  • 减少域中存储的数据量。您可以删除不必要的文件、优化旧的索引,或减少域的副本数。

解决方法

增加域的存储空间

如果域使用 Amazon EBS 卷来进行存储,则可增加 EBS 卷的大小最大卷大小取决于节点的 Amazon Elastic Compute Cloud (Amazon EC2) 实例类型。如果您无法增加 EBS 卷的大小,则增加节点数量扩展域。想要了解更多有关 EBS 卷的信息,请参阅 EBS 卷大小限制

如果存储使用的不是 Amazon EBS 卷,则增加集群配置中的节点数量

Amazon CloudWatch 的 FreeStorageSpace 指标衡量 Elasticsearch 集群上的可用存储空间大小。要在每次存储空间不足时收到通知,请配置 CloudWatch 警报

要查看集群中各个节点的可用存储空间大小,请运行 cat allocation 命令:

curl ES_Endpoint/_cat/allocation?v

减少域中存储的数据量

要减少域中存储的数据量,最简单、最有效的方式是删除不需要的文档。请务必首先拍摄手动快照。此外还可考虑以下选项: