[ 
https://issues.apache.org/jira/browse/SPARK-18769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15891610#comment-15891610
 ] 

Xuefu Zhang commented on SPARK-18769:
-------------------------------------

Just as fyi, the problem is real and happens when allocation attempts are made 
as long as there are pending tasks (which is in line with dynamic allocation). 
However, it's pointless when all containers are already taken and further 
attempts are very likely in vain, which adversely creates pressure on event 
processing in Spark driver and may also have impact on YARN RM.

I don't know what's the best solution for this, Maybe Spark can just try to 
allocate all it needs upfront and update (tune down) the allocation request as 
the job progresses when necessary. 

As a workaround, we have to set an artificial upper limit (something like 
2500), which helps a lot.

>  Spark to be smarter about what the upper bound is and to restrict number of 
> executor when dynamic allocation is enabled
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-18769
>                 URL: https://issues.apache.org/jira/browse/SPARK-18769
>             Project: Spark
>          Issue Type: New Feature
>            Reporter: Neerja Khattar
>
> Currently when dynamic allocation is enabled max.executor is infinite and 
> spark creates so many executor and even exceed the yarn nodemanager memory 
> limit and vcores.
> It should have a check to not exceed more that yarn resource limit.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to