awsdocs / amazon-emr-release-guide

The open source version of the Amazon EMR Release Guide. You can submit feedback & requests for changes by submitting issues in this repo or by making proposed changes & submitting a pull request.
Other
28 stars 43 forks source link

Update Documentation for Spark maximizeresourceallocation setting #34

Closed secretazianman closed 1 year ago

secretazianman commented 2 years ago

https://github.com/awsdocs/amazon-emr-release-guide/blob/main/doc_source/emr-spark-configure.md#using-maximizeresourceallocation

This configuration should have a special Note that states that the Executor Memory setting is only configured based off actual provisioned Task nodes in the EMR cluster, regardless of the rest of the nodes in the instance group. Currently it just states the value is configured based off "an instance in the core instance group".

This means that if you have heterogenous Task ec2 instance types configured, there is a chance that when the original provisioned Task nodes are terminated they may replaced by ec2 types with less memory. The job will not be able to spin up executors due to lack of memory.

The job will be forever stuck in a "running" state and EMR will not mark the cluster as idle and will not terminate because the job will never be marked as failed.

Ideally the maximizeresourceallocation should instead calculate it's values based off the smallest EC2 instance in your Core and Task Group/Fleet. This way it will always work regardless of what instances are used.

joshbean commented 1 year ago

Closing this issue or pull request in advance of archiving this repo. For more information about the decision to archive this repo (and others in the 'awsdocs' org), see the announcement on the AWS News Blog.