如何對 Amazon OpenSearch Service 網域中的儲存空間不足問題進行疑難排解?
上次更新日期:2021 年 7 月 30 日
我收到錯誤訊息顯示我的 Amazon OpenSearch Service 網域的儲存空間不足。如何解決此錯誤?
簡短描述
您的 OpenSearch Service 網域對處理工作負載有特定的儲存空間要求。當您的 OpenSearch Service 網域儲存空間不足時,就會發生 ClusterBlockException 錯誤。例如,當您將儲存空間配置到叢集節點時,預留空間最多為空間 (20 GB) 的 20%。此外,Linux 等作業系統會保留 5% 的檔案系統,以支援 root 使用者所執行的任何重要處理程序。如需 Amazon OpenSearch Service 儲存空間要求的詳細資訊,請參閱計算儲存需求。
若要解決儲存空間不足的問題,請嘗試下列方法:
- 增加網域的Amazon Elastic Block Store (Amazon EBS) 磁碟區容量。您也可以將更多叢集節點新增至 OpenSearch Service 網域。
- 更新您的叢集碎片策略,以便碎片在所有節點上均勻分配。
- 減少網域中儲存的資料量。您可以刪除不必要的檔案、最佳化舊索引或減少網域的複本計數。請務必先擷取手動快照。
注意:減少網域的複本計數可以降低容錯能力。最佳實務是為每個索引設定至少一個複本。 - 使用 Amazon CloudWatch FreeStorageSpace 指標來監控叢集中的可用儲存空間。若要在儲存空間不足時接收通知,請設定 CloudWatch 警示。
視您的資料儲存來源而定,您可能需要納入其他疑難排解技巧。
解決方案
更新您的儲存空間組態設定
curl ES_Endpoint/_cat/allocation?v
若要更新您的 OpenSearch Service 網域組態設定,請執行下列步驟:
1.登入 AWS 管理主控台。
2.開啟 OpenSearch Service 主控台。
3.選擇您要新增儲存空間的 OpenSearch Service 網域。
4.選擇 Edit Domain (編輯網域)。
5.更新您的網域設定。
注意:若您使用 Amazon EBS 磁碟區進行儲存,則請更新儲存組態設定。或者,您可以更新資料節點的數量。
6.選擇 Submit (提交)。
如果您的網域使用 Amazon EBS 磁碟區進行資料儲存
如果網域使用 Amazon EBS 磁碟區進行儲存,請考慮下列方法:
- 增加 EBS 磁碟區的大小。最大 EBS 磁碟區大小取決於節點的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體類型或 Elasticsearch 版本類型。例如,512 GiB 是 Elasticsearch 1.5 版的最大磁碟區大小。
- 如果您無法增加 EBS 磁碟區的大小,則請新增其他節點或為網域擴充規模並選擇新的 EBS 限制。如需 EBS 磁碟區的詳細資訊,請參閱 EBS 磁碟區大小限制。
- 請為您的 Amazon Simple Storage Service (Amazon S3) 儲存貯體建立一個不需要的索引備份。然後,從您的 OpenSearch Serive 叢集中刪除索引以釋放磁碟空間。或者,您可以使用 Curator 在 OpenSearch Service 中輪換資料。您也可以使用索引狀態管理在 OpenSearch Service 中輪換索引。
注意:您必須設定手動快照儲存庫,才能建立任何備份。
如果您的網域使用 Amazon Elastic Compute Cloud (Amazon EC2) I3 執行個體進行資料儲存
如果您使用 Amazon EC2 I3 執行個體進行資料儲存,則請考慮下列方法:
- 將更多節點新增至您的 OpenSearch Service 叢集。
- 為執行個體類型擴充規模以取得更多的儲存空間。
- 從您的 OpenSearch Service 叢集中刪除任何不需要的索引。
Amazon OpenSearch Service 是 Amazon Elasticsearch Service 的後繼者。