為什麼我的 Amazon MSK 叢集會進入 HEALING 狀態?

1 分的閱讀內容
0

我想對處於 HEALING 狀態的 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 叢集進行疑難排解。

解決方案

當服務執行內部操作以解決問題時 (例如:中介裝置沒有回應),Amazon MSK 叢集會進入 HEALING 狀態。然而,您可以使用叢集來產生和取用資料。在叢集回到 ACTIVE 狀態之前,您無法在叢集上執行 Amazon MSK API 或 AWS Command Line Interface (AWS CLI) 更新操作。

請使用適用於 Amazon MSK 的 Amazon CloudWatch 指標,以查看叢集為何處於 HEALING 狀態:

  1. 開啟  CloudWatch 主控台
  2. 在導覽窗格,選擇指標,然後選擇所有指標
  3. 瀏覽索引標籤,選擇 AWS/Kafka
  4. 指標下,選擇叢集名稱
  5. 選取要監控的叢集。
    如果您在  ActiveControllerCount  或  OfflinePartitionsCount  指標看到尖峰,則表示一或多個中介裝置的運作狀態不佳。這可能導致您的叢集進入 HEALING 狀態。
  6. 對於中介裝置層級指標,請在指標下選擇中介裝置 ID、叢集名稱
  7. 從清單,選取具有該叢集名稱以及指標  CpuUser  和  CpuSystem  的項目。檢查所有項目中這兩個值的總和是否高於叢集平均值的 60%。如果是這樣,則可能是高 CPU 使用率導致中介裝置進入 HEALING 狀態。如需監控 CPU 使用率的詳細資訊,請參閱最佳實務 - 監控 CPU 使用率

以下是 Amazon MSK 叢集進入 HEALING 狀態的常見原因:

  • 節點或 Amazon Elastic Block Store (Amazon EBS) 磁碟區由於硬體故障而必須替換。
  • 節點不符合中介裝置的 Amazon MSK 效能 SLA,因此必須替換節點以獲得最佳效能。

請注意,Amazon MSK 是一項全受管服務。因此,中介裝置具有自我管理工作流程,可自行執行修正動作,例如在故障情況下替換節點。當中介裝置的 Amazon EBS 磁碟區運作狀態不佳時,Amazon MSK 會觀察磁碟區的狀態一段時間。如果磁碟區在此期間運作狀態好轉,則不會執行任何動作。如果磁碟區在此期間之後仍然運作狀態不佳,Amazon MSK 會自動替換此磁碟區。當 Amazon MSK 執行這些動作時,叢集會進入 HEALING 狀態。不過,只要您遵循最佳實務,這就不會影響 Amazon MSK 叢集的可用性。即使中介裝置處於 HEALING 狀態,叢集也可以處理來自生產者和取用者的請求。

在很罕見的情況下,您的叢集可能會進入永久的 HEALING 狀態。這可能是由於以下原因造成的:

  • 叢集上的工作負載很高,並且持續地替換中介裝置。為了避免這個問題,最佳實務是不要使用 t3.small 執行個體來託管生產叢集。如果您使用的是 m5 執行個體,請確定您為叢集選擇了正確的大小。您可以根據工作負載和監控 CPU 使用率,來決定叢集的大小。另外,請確保每個中介裝置的分割區數量不超過建議值
  • Auto Scaling 群組無法啟動新的執行個體。這可能是由於內部問題或缺少相依性所導致。例如,叢集建立期間指定的 AWS Key Management Service (KMS) 金鑰可能已無法使用。
  • 罕見的內部事件對基礎 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的可用性造成影響,或導致可用區域或 AWS 區域的 Amazon EBS 延遲。

如果您的叢集停留在永久 HEALING 狀態且並非工作負載所導致,請聯絡 AWS Support

相關資訊

叢集狀態

AWS 官方
AWS 官方已更新 1 年前