刚接触 Elasticsearch 吗?欢迎参加我们的 Elasticsearch 入门网络研讨会。您也可以开始免费云服务试用,或立即在您的计算机上试用 Elastic。
磁盘管理对任何数据库都很重要,Elasticsearch 也不例外。如果没有足够的可用磁盘空间,Elasticsearch 将停止向节点分配分片。这将最终导致您无法向群集写入数据,并有可能导致应用程序中的数据丢失。另一方面,如果磁盘空间过大,则需要为超出需要的资源付费。
水印背景
Elasticsearch 集群上有各种 "水印 "阈值,可帮助您跟踪可用磁盘空间。当节点上的磁盘填满时,第一个越过的阈值就是 "低磁盘水印"。 第二个阈值就是 "高磁盘水印阈值"。 最后,将达到 "磁盘淹没阶段"。一旦过了这个阈值,群集就会阻止写入已通过水印的节点上有一个分片(主分片或副本)的所有索引。 仍可进行读取(搜索)。
如何预防和处理磁盘过满(利用率过高)的情况
有多种方法可以处理 Elasticsearch 磁盘过满的情况:
- 删除 旧数据:通常情况下,数据不应无限期保存。防止和解决磁盘过满的方法之一是确保当数据达到一定年限时,对其进行可靠的归档和删除。一种方法是使用ILM。
- 增加存储容量:如果无法删除数据,可能需要添加更多数据节点或增加磁盘大小,以便在不影响性能的情况下保留所有数据。如果需要为群集增加存储容量,则应考虑是否只需增加存储容量,还是同时按比例增加存储容量以及 RAM 和 CPU 资源(请参阅下文有关磁盘大小、RAM 和 CPU 比例的部分)。
如何为 Elasticsearch 集群增加存储容量
- 增加数据节点的数量: 请记住,新节点的大小应与现有节点相同,并使用相同的 Elasticsearch 版本。
- 扩大现有节点的规模: 在基于云的环境中,增加现有节点的磁盘大小和内存/CPU 通常很容易。
- 只增加磁盘大小: 在基于云的环境中,增加磁盘大小通常相对容易。
- 快照 和 恢复:如果您愿意让旧数据根据要求通过自动流程从备份中检索出来,您可以对旧索引进行快照、删除,并根据要求从快照中临时恢复数据。
- 减少每个分片的副本数量:减少数据的另一个方法是减少每个分片的副本数量。为了实现高可用性,您希望每个分片有一个副本,但当数据变旧时,您可能不需要副本也能工作。如果数据是持久性的,或者您有备份可以在需要时恢复,那么这种方法通常是可行的。
- 创建警报:为了防止磁盘将来被填满并采取主动行动,应根据磁盘使用情况创建警报,以便在磁盘开始填满时发出通知。
如何预防和处理磁盘容量利用不足的情况
如果磁盘容量未得到充分利用,有多种选择可以减少群集的存储容量。
如何减少 Elasticsearch 集群的存储容量
减少群集存储容量的方法有很多种。
1.减少数据节点数量
如果你想减少数据存储,同时按相同比例减少 RAM 和 CPU 资源,那么这是最简单的策略。停用不必要的节点可能会节省最大的成本。
在停止节点运行之前,您应该
- 确保要停用的节点不需要作为 MASTER 节点。应始终至少有三个节点具有 MASTER 节点角色。
- 将数据碎片从要退役的节点上移走。
2.用较小的节点取代现有节点
如果无法进一步减少节点数量(通常最低配置为 3 个),则可能需要缩小现有节点的规模。请记住,最好确保所有数据节点的 RAM 内存和磁盘大小相同,因为分片是根据每个节点的分片数量进行平衡的。
过程如下
- 向群集添加新的、较小的节点
- 将碎片迁移到远离将要退役的节点的地方
- 关闭旧节点
3.缩小节点上的磁盘大小
如果只想减少节点上的磁盘大小,而不改变群集的整体 RAM 或 CPU,那么可以减少每个节点的磁盘大小。减少 Elasticsearch 节点上的磁盘大小并非易事。
最简单的方法通常是
- 从节点迁移碎片
- 停止节点
- 在节点上挂载新数据卷,并设置适当大小
- 将旧磁盘卷中的所有数据复制到新卷中
- 分离旧卷 A
- 启动节点并将碎片迁移回节点
这就要求其他节点上有足够的容量,以便在此过程中临时存储节点上的额外碎片。在许多情况下,管理这一流程的成本可能会超过潜在的磁盘使用节余。因此,用具有所需磁盘大小的新节点完全替换该节点可能更简单(请参阅上文 "用较小节点替换现有节点")。
在为不必要的资源付费时,显然可以通过优化资源利用率来降低成本。
磁盘大小、内存和 CPU 之间的关系
集群中磁盘容量与内存的理想比例取决于您的具体使用情况。因此,在考虑更改存储容量时,还应考虑当前的磁盘/内存/CPU 比例是否适当平衡,以及是否需要按相同比例增加/减少内存/CPU。
内存和 CPU 需求取决于索引活动量、查询次数和类型,以及搜索和汇总的数据量。这通常与群集上存储的数据量成正比,因此也应与磁盘大小相关。
磁盘容量和内存之间的比例可根据使用情况进行调整。请看这里的几个例子:
| 指数活动 | 保留 | 搜索活动 | 磁盘容量 | 内存 | |
|---|---|---|---|---|---|
| 企业搜索应用程序 | 适度摄入原木 | 长 | 灯光 | 2TB | 32GB |
| 应用程序监控 | 大量摄入原木 | 短 | 灯光 | 1TB | 32GB |
| 电子商务 | 轻型数据索引 | 无限期 | 重型 | 500GB | 32GB |
请记住,修改节点机器配置时必须小心谨慎,因为这可能会导致节点宕机,而且需要确保分片不会开始迁移到其他已经过度紧张的节点上。




