為什麼在叢集調整大小期間沒有佈建我的 EMR Spot 執行個體?

上次更新日期:2023 年 1 月 24 日

在調整 EMR 叢集大小時,不會佈建我的 Amazon EMR Spot 執行個體。

解決方案

Amazon Elastic Compute Cloud (Amazon EC2) 可能會隨時中斷您的 Spot 執行個體,原因如下:

  • 缺乏 Spot 容量。
  • 無法滿足請求限制。
  • Spot 價格高於指定的最高價格。
  • 您的 Spot 帳戶配額已用盡。如果是這種情況,那麼您可以請求增加

如需詳細資訊,請參閱 Amazon EC2 為什麼要終止我的 Spot 執行個體?

備註:最佳實務是將 Spot 執行個體用於無狀態、容錯且彈性足以承受中斷的工作負載。

此外,由於引導指令碼已修改或包含錯誤,Spot 執行個體和隨需執行個體可能無法調整大小。

/emr/instance-controller/log/bootstrap-actionss3://cluster_id/node-failed/bootstrap-actions/stderr.gz 中檢查引導指令碼的日誌。日誌顯示錯誤STARTUP_SCRIPT_FAILED_RET_CODE

例如,下列引導動作日誌會顯示引導動作 1 (emr_bootstrap_actions.sh) 失敗:

Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory : 125 M RSS (444 MB VSZ)
    Started: Tue Jul 19 05:36:36 2022 - 00:03 ago
    State  : Running, pid: 7914
Error: Package: falcon-sensor-4.18.0-6403.amzn2.x86_64 (/falcon-sensor-4.18.0-6403.amzn2.x86_64)
           Requires: systemd

如果您看到上述錯誤,則會發生下列動作:

  • 所有新的取代節點都會終止。
  • 節點會停止佈建新的取代執行個體。
  • 核心節點執行個體群組會進入停止模式,如下列範例所示:
"state": "ARRESTED",
  "message": "Instance group ig-2JN5xxxxxxxx in Amazon EMR cluster j-37H4xxxxxxx (emr-xxxxx-spark-cluster) was arrested at  for the following reason: Error provisioning instances."
=====