Description
The CLASSPATH for the MapReduce Application master is set using compile time path information, which is typically different from run-time. This will cause failure when running on different environments.
Specifically, the YarnRunner, and as part ApplicationSubmissionContext creation, sets the classpath for the application master using MRApps.setClasspath(environment), and then the setMRFrameworkClasspath(..) method uses compile time path information present in the "mrapp-generated-classpath" file (created at compile-time).
Attachments
Issue Links
- is duplicated by
-
MAPREDUCE-3389 MRApps loads the 'mrapp-generated-classpath' file with classpath from the build machine
- Closed
- is related to
-
MAPREDUCE-3509 improve MRApp generated classpath
- Open