-
-
Notifications
You must be signed in to change notification settings - Fork 3
Compute resources and number of executors are not set #161
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
Comments
Regarding |
Suggested settings: Cores
MemoryDriver
i.e. for driver memory settings everything can be derived from the resource limit definitions, as long as all memory values are specifically set. We should add a note in the docs that it is possible to define resource limits and spark.conf settings that are not compatible with each other. Executor
If resource limits are defined, then these will be used to set memory, and the user should be aware that other configuration values may directly assign more memory than is allowed i.e. use either resource limits and omit spark.conf -related settings, or vice-versa. Maybe use a spark streaming job (such as the one shown here) for an integration test so that the actual pods can be inspected. |
Uh oh!
There was an error while loading. Please reload this page.
Affected version
nightly
Current and expected behavior
Configuring the following compute resources
I would have expected the following settings (i manually overwrite them to get it working)
Whatever currently is done is way of, e.g. it only spawns 2 executors, executor cpu and memory seem to be the default values and the executor thinks it has a single core.
Possible solution
Did some prototyping in #160
In a nutshell we need to set all the above mentioned values (can be used as a test case)
spark.executor.instances
obviouslyspark.driver.memory
andspark.executor.memory
need to be fetched from the memory limit and somehow converted to the Spark memory convention. Special caution is needed as if a user specifies e.g. 8Gi for a executor, Spark will add overhead and the resulting Pods will have a memory limit of11468Mi
. We want to subtract that overhead and do calculations (and/or set overhead configurations) to achieve the requested 8Gi memory limit of the executor Pods.spark.driver.cores
andspark.executor.cores
need to be fetched from the cpu limit, somehow converted to a floating point, rounded up and given as a while positive numberAdditional context
No response
Environment
No response
Would you like to work on fixing this bug?
No response
The text was updated successfully, but these errors were encountered: