YARN-10835. Pass user defined variables of yarn.nodemanager.env-whitelist along jobs #3154
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
The configuration of "yarn.nodemanager.env-whitelist" has been helpful in running multi version Hadoop on Yarn. But the pain point is that users need to use different configurations to run jobs of different versions of Hadoop.
The first idea is to have SRE prepared different versions of configurations and let users specify different environment variables of "HADOOP_CONF_DIR", this shifts the burden from users to SRE that they have to maintain different versions of configurations with only one or two configurations changed.
This ticket proposes to export the value of the environment variable in "yarn.nodemanager.env-whitelist" via the environment variable or Java properties of the client submitting jobs. So that SRE only has to maintain one version of configuration and users can easily define Hadoop version with one export in an environment variable or Java property.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/YARN-10835
How was this patch tested?
Add unit test to pass Java properties to
ContainerLaunchContext.