跳至內容

為什麼我的 OpenSearch 服務節點當機了?

1 分的閱讀內容
0

我的 Amazon OpenSearch Service 叢集中的一個節點已關閉。或者,我的 OpenSearch Service 節點不斷當機。

解決方法

叢集節點故障可能是因為 Java 虛擬機器 (JVM) 壓力過大或 CPU 使用率過高,導致節點過載。當硬體故障導致運作狀態檢查失敗時,叢集節點也可能會發生故障。

檢查失敗的節點

請完成下列步驟:

  1. 開啟 OpenSearch Service console (OpenSearch Service 主控台)。
  2. 在導覽窗格的 Managed clusters (受管叢集) 下,選擇 Domains (網域)。
  3. 選取您的 OpenSearch Service 網域。
  4. 選擇 Cluster health (叢集運作狀態) 索引標籤,然後選擇 Nodes (節點)。如果節點數少於您為叢集設定的數量,表示有節點已故障。
    **注意:**在變更叢集組態或服務進行例行維護時,Nodes (節點) 指標可能會不準確。這種情況屬於正常現象。

識別過載節點的問題並進行疑難排解

高 CPU 和 JVM 壓力可能會導致節點因流量過大而從叢集中脫離。當節點無法管理負載時,它可能會變得無回應甚至當機。

若要對此問題進行疑難排解,請重新啟動節點。確保您遵守節點重新啟動要求

如果仍遇到問題,請檢查並降低 OpenSearch Service 叢集上的 CPU 使用率JVM 記憶體壓力

識別並對硬體故障問題進行疑難排解

硬體故障可能會影響叢集節點的可用性。OpenSearch Service 會對每個節點執行定期運作狀態檢查。如果某個節點的運作狀態檢查失敗,OpenSearch Service 會允許該節點重新加入叢集,或自動用運作狀態良好的新節點取代。

使用複寫來降低資料遺失的風險

執行以下命令來啟動索引的複本,以便在 OpenSearch Service 取代當機的節點時作為備份:

curl -XPUT 'domain-endpoint/indexname/_settings' -H 'Content-Type: application/json' -d'{ "index" : { "number_of_replicas" : 0 }}

**注意:**將 domain-endpoint 替換為您的網域端點,並將 indexname 替換為您的索引名稱。

複本碎片提供資料冗餘功能,讓主碎片無法使用時,叢集仍能繼續處理請求。最佳實務是為每個索引設定至少一個複本。沒有複本碎片的多節點叢集存在資料遺失的風險。如需詳細資訊,請參閱調整 Amazon OpenSearch Service 網域的大小

最佳實務是在每個叢集中使用多個資料節點。您無法在單節點叢集中使用複本碎片,因為主碎片和複本碎片不能指派給同一個節點。如果節點當機,那麼資料就會遺失。即使您為叢集啟動了精細存取控制,此限制仍然存在。如果您的單節點叢集當機,請使用索引快照來還原遺失的資料。

**重要:**您只能還原在最近的快照中擷取的資料。

設定多可用區網域

當您設定多可用區網域時,OpenSearch Service 會在多個可用區網域中啟動資料節點。OpenSearch Service 會將主碎片及其對應的複本碎片分散到不同的可用區域。如果一個節點或區域發生故障,那麼您的資料仍然可以使用。

相關資訊

Amazon OpenSearch Service 的營運最佳實務

如何提升 OpenSearch Service 網域的容錯能力?

如何向上擴展或橫向擴充 OpenSearch Service 網域?

為什麼我的 OpenSearch Service 網域卡在 狀態?"Modifying"

AWS 官方已更新 1 年前