當我的 Amazon EMR 叢集無法啟動時,我想解決「啟動程序動作傳回非零傳回代碼」錯誤。
簡短說明
在 Amazon EMR 佈建 Amazon Elastic Compute Cloud (Amazon EC2) 叢集執行個體後,Amazon EMR 會在執行個體上執行啟動程序動作。如果啟動程序動作傳回非零的錯誤代碼,Amazon EMR 會終止受影響的執行個體。如果太多執行個體無法執行啟動程序動作,Amazon EMR 會刪除叢集。
解決方法
若要識別錯誤的原因,請檢查 stderr 日誌。如果 stderr 日誌無法識別問題,請使用偵錯資訊修改指令碼。例如,若要在啟動程序動作日誌檔案中追蹤指令碼的流程,請在 Bash 指令碼中設定 -ex 參數:
#!/bin/bash
set -x -e
如果啟動程序動作失敗,請檢查您在建立叢集時指定的 LogUri 中儲存的日誌,例如 s3://example-log-location/example-cluster-id/node/example-instance-id/bootstrap-actions/。
相關資訊
使用自訂啟動程序動作
為什麼 Amazon EMR 叢集會因「應用程式佈建失敗」錯誤而終止?