本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
當您將工作提交至 Amazon 時,同時執行多個步驟的考量事項 EMR
當您將工作提交至 Amazon 時,EMR需要對資源規劃和叢集行為預期做出初步決策,才能並行執行多個步驟。此處詳細介紹了這些內容。
-
並行執行的步驟可能會以任何順序完成,但佇列中的待定步驟會依照其提交順序轉換為執行中狀態。
-
為您的叢集選取步驟並行層級時,必須考量主節點執行個體類型是否符合使用者工作負載的記憶體要求。主要步驟執行程式會在各步驟的主節點上執行。並行執行多個步驟需要更多主要節點的記憶體和CPU使用率,而不是一次執行一個步驟。
-
若要實現並行步驟的複雜排程和資源管理,您可以使用YARN排程功能,例如
FairScheduler
或CapacityScheduler
。例如,您可以搭配queueMaxAppsDefault
集合使用FairScheduler
,以防止某個數量的任務一次執行。 -
步驟並行層級視資源管理員組態而定。例如,如果 YARN 設定為僅平行處理
5
,則即使StepConcurrencyLevel
設定為 ,您也只能讓五個YARN應用程式平行執行10
。如需設定資源管理員的詳細資訊,請參閱 Amazon EMR版本指南 中的設定應用程式。 -
當叢集的步驟並行層級大於 1 CONTINUE時,無法使用
ActionOnFailure
以外的 新增步驟。 -
如果叢集的步驟並發層級大於 1,步驟
ActionOnFailure
功能將不會啟動。 -
如果叢集具有步驟並行層級
1
,但有多個執行中的步驟,則TERMINATE_CLUSTER ActionOnFailure
可能會啟動,但CANCEL_AND_WAIT ActionOnFailure
不會啟動。當叢集步驟並行層級大於 1,但在執行多個步驟時會降低,就會出現此邊緣情況。 -
您可以使用EMR自動擴展,根據YARN資源進行擴展和縮減,以防止資源爭用。如需詳細資訊,請參閱 Amazon EMR管理指南 中的將自動擴展與執行個體群組的自訂政策搭配使用。
-
當您減少步驟並行層級時, EMR 允許在減少步驟數量之前完成任何執行中的步驟。如果資源因叢集執行過多並行步驟而耗盡,我們建議手動取消任何執行中的步驟,以釋放資源。