為什麼在叢集調整大小期間沒有佈建我的 EMR Spot 執行個體?
上次更新日期:2023 年 1 月 24 日
在調整 EMR 叢集大小時,不會佈建我的 Amazon EMR Spot 執行個體。
解決方案
Amazon Elastic Compute Cloud (Amazon EC2) 可能會隨時中斷您的 Spot 執行個體,原因如下:
如需詳細資訊,請參閱 Amazon EC2 為什麼要終止我的 Spot 執行個體?
備註:最佳實務是將 Spot 執行個體用於無狀態、容錯且彈性足以承受中斷的工作負載。
此外,由於引導指令碼已修改或包含錯誤,Spot 執行個體和隨需執行個體可能無法調整大小。
在 /emr/instance-controller/log/bootstrap-actions 或 s3://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."
=====