-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-22900] [Spark-Streaming] Remove unnecessary restrict for streaming dynamic allocation #20078
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
felixcheung
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't you use spark.streaming.dynamicAllocation.minExecutors?
|
@felixcheung |
|
hmm, that sounds like a different problem, why is numReceivers set to > spark.cores.max? |
|
@felixcheung |
|
Sorry to chime in. This feature (streaming dynamic allocation) is obsolete and has bugs, users seldom enabled this feature, does it still worth to fix? |
|
@jerryshao |
|
I'm not against the fix. My concern is that we've shifted to structured streaming, also this feature (streaming dynamic allocation) is seldom used/tested, this might not be the only issue regarding to it (in dynamic allocation we updated a lot), do we still need to put effort on it? Just my concern. |
|
not saying about this change, but I've used streaming dynamic allocation quite a bit back in the day. but in this case I think simply is to set |
|
Originally in Spark dynamic allocation, "spark.executor.instances" and dynamic allocation conf cannot be co-existed, if "spark.executor.instances" is set, dynamic allocation will not be enabled. But this behavior is changed after 2.0. I think here for streaming dynamic allocation, we'd better keep it consistent with Spark dynamic allocation. |
|
hmm, I didn't know that was changed actually (SPARK-13723) |
|
@felixcheung |
|
Can one of the admins verify this patch? |
|
by set spark.streaming.dynamicAllocation.minExecutors also has same issue .https://issues.apache.org/jira/browse/SPARK-14788 |
Closes apache#20458 Closes apache#20530 Closes apache#20557 Closes apache#20966 Closes apache#20857 Closes apache#19694 Closes apache#18227 Closes apache#20683 Closes apache#20881 Closes apache#20347 Closes apache#20825 Closes apache#20078 Closes apache#21281 Closes apache#19951 Closes apache#20905 Closes apache#20635 Author: Sean Owen <[email protected]> Closes apache#21303 from srowen/ClosePRs.
What changes were proposed in this pull request?
When i set the conf
spark.streaming.dynamicAllocation.enabled=true, the confnum-executorscan not be set. As a result, it will allocate default 2 executors and all receivers will be run on this 2 executors, there may not be redundant cpu cores for tasks. it will stuck all the time.in my opinion, we should remove unnecessary restrict for streaming dynamic allocation. we can set
num-executorsandspark.streaming.dynamicAllocation.enabled=truetogether. when application starts, each receiver will be run on an executor.How was this patch tested?
Manual test.