並行執行多個步驟的考量 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

並行執行多個步驟的考量

  • 並行執行的步驟可能會以任何順序完成,但佇列中的待定步驟會依照其提交順序轉換為執行中狀態。

  • 為您的叢集選取步驟並行層級時,必須考量主節點執行個體類型是否符合使用者工作負載的記憶體要求。主要步驟執行程式會在各步驟的主節點上執行。並行執 parallel 多個步驟需要來自主節點的記憶體和CPU使用率,而不是一次執行一個步驟。

  • 若要實現並行步驟的複雜排程與資源管理,您可以使用YARN排程功能,例如FairSchedulerCapacityScheduler。例如,您可以搭配 queueMaxAppsDefault 集合使用 FairScheduler,以防止某個數量的任務一次執行。

  • 步驟並行層級視資源管理員組態而定。例如,如果YARN設定的只有 parallel 處理原則5,則即使將10設定為,您也只能讓五個YARN應用程式並行執行。StepConcurrencyLevel如需設定資源管理員的詳細資訊,請參閱 Amazon EMR 版本指南中的設定應用程式

  • 除了叢集的步驟並行層級大於 1 CONTINUE 時,您無法新增步驟。ActionOnFailure

  • 如果叢集的步驟並發層級大於 1,步驟 ActionOnFailure 功能將不會啟動。

  • 如果叢集具有步驟並行層級 1,但有多個執行中的步驟,則 TERMINATE_CLUSTER ActionOnFailure 可能會啟動,但 CANCEL_AND_WAIT ActionOnFailure 不會啟動。當叢集步驟並行層級大於 1,但在執行多個步驟時會降低,就會出現此邊緣情況。

  • 您可以使用EMR自動擴展來根據YARN資源擴展和縮小規模,以防止資源爭用。如需詳細資訊,請參Amazon EMR 管理指南中的針對執行個體群組的自訂政策使用自動擴展

  • 當您降低步驟並行層次時,EMR允許在減少步驟數之前完成任何執行中的步驟。如果資源因叢集執行過多並行步驟而耗盡,我們建議手動取消任何執行中的步驟,以釋放資源。