Vinod Kumar Vavilapalli commented on YARN-3685:

bq. Perhaps it's possible to move the classpath jar generation to the MR client 
or AM. It's not immediately obvious to me which of those 2 choices is better.
For AM container, client is the right place. For the rest of the tasks, AM is.

bq. We'd need to change the manifest to use relative paths in the Class-Path 
attribute instead of absolute paths. (The client and AM are not aware of the 
exact layout of the NodeManager's yarn.nodemanager.local-dirs, so the client 
can't predict the absolute paths at time of container launch.)
I think this was one of the chief issues in the original patches - we need to 
investigate if manifest file can have relative paths or not. Otherwise, it's 
ugly but we can still get YARN to replace some sort of markers only in specific 
files like the manifest.

bq. Some classpath entries are defined in terms of environment variables. These 
environment variables are expanded at the NodeManager via the container launch 
scripts. This was true of Linux even before YARN-316, so in that sense, YARN 
did already have some classpath logic indirectly.
Which ones are these?

bq. If we do move classpath handling out of the NodeManager, then it would be a 
backwards-incompatible change, and so it could not be shipped in the 2.x 
release line.
Not clear this is true or not. Have to see the final solution/patch to 
realistically reason about this.

> NodeManager unnecessarily knows about classpath-jars due to Windows 
> limitations
> -------------------------------------------------------------------------------
>                 Key: YARN-3685
>                 URL: https://issues.apache.org/jira/browse/YARN-3685
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Vinod Kumar Vavilapalli
>            Assignee: Vinod Kumar Vavilapalli
> Found this while looking at cleaning up ContainerExecutor via YARN-3648, 
> making it a sub-task.
> YARN *should not* know about classpaths. Our original design modeled around 
> this. But when we added windows suppport, due to classpath issues, we ended 
> up breaking this abstraction via YARN-316. We should clean this up.

This message was sent by Atlassian JIRA

Reply via email to