我在 Amazon OpenSearch Service 中注册了一个快照存储库。当我尝试拍摄手动快照时,快照会长时间停滞或无法拍摄。
解决方法
无法手动拍摄快照时会出现以下错误:
- “snapshot_in_progress_exception”
- “concurrent_snapshot_execution_exception”
- “cannot snapshot while a snapshot deletion is in-progress”
- “Unable to upload object [abcd/efgh/1234/ABCDEF] using multipart upload”
数据量大、集群繁忙、资源有限或网络问题都可能会导致快照消耗较长的运行时间或无法拍摄快照。要解决手动快照性能问题,请采取以下措施。
**注意:**在创建快照时,仍然可以索引文档并在集群中提出其他请求。但是,新文档和对现有文档的更新不包含在待处理的快照中。
检查 CPU 使用率是否过高或 JVM 压力是否过高
高 CPU 利用率或高 JVM 压力可能会导致无法手动拍摄快照。要跟踪 CPU 使用率和 JVM 压力,请使用 Amazon CloudWatch 警报来衡量这些指标。
测试配置
确保根据数据节点的数量为专用主节点实例使用适当的实例类型。另外还必须为索引选择正确数量的分片。对于每个 GiB 的 Java 堆内存,每个节点的分片必须少于 25 个。在 OpenSearch Service 中,堆内存等于实例内存的一半,最大为 32 GB。有关每种实例类型有多少内存的信息,请参阅按需型实例定价。
确保集群节点上有足够的存储空间。磁盘空间不足会导致 OpenSearch Service 取消分配分区,然后将其重新平衡到新节点。在此过程中,由于 OpenSearch Service 将快照视为低优先级任务,集群开始变得不正常,快照操作可能会延迟或停止。
为了减少网络延迟,请确保快照存储库与亚马逊 OpenSearch 集群位于同一 AWS 区域。
按顺序在低流量时段安排快照
为了保持一致性和完整性,OpenSearch Service 按顺序处理快照。要管理此优先级,请按顺序安排快照。多个同步快照可能导致备份不完整或不可靠。
经常拍摄快照是最佳做法。OpenSearch Service 快照仅存储自上次成功拍摄快照以来发生变化的数据。一周的每小时快照所需的磁盘空间大致等于一周结束时的快照所需的磁盘空间。但是,每小时快照所需完工时间较短。
为了减少集群的负载,最佳做法是在低流量时段拍摄快照。使用 GET _cat/tasks API 列出集群上当前运行的所有任务的进度。有关详细信息,请参阅 OpenSearch 网站上的 CAT 任务。
监控快照进度
使用快照 API 端点监控快照进度并找出所有问题。有关更多信息,请参阅 OpenSearch 网站上的获取快照状态。
管理索引生命周期
要缩减快照大小,请定期删除或存档老旧数据或不相关的数据。要管理索引生命周期,请使用索引状态管理(ISM)策略。
相关信息
如何解决 OpenSearch Service 集群中的手动快照错误?
为什么无法删除索引或升级 OpenSearch Service 集群?