[ https://issues.apache.org/jira/browse/MAPREDUCE-3259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13136441#comment-13136441 ]
Kihwal Lee commented on MAPREDUCE-3259: --------------------------------------- bq. Kihwal, won't it suffice to have the right configs (and defaults) for admin.env? For executing the task script, that's true. For LTC directly launching JVM to run localizer, either LD_LIBRARY_PATH or -Djava.library.path is need to be set properly. It will appear to work until something requiring the native lib is enabled. When I enabled the JNI-based user groups mapping feature, the localizer wouldn't run. Back to running task script. The task jvm may have to load libhadoop.so because of a certain cluster-level config. I think we should treat it as an app-level dependency, rather than a run-time dependency of specific client code. Sometimes even admins won't know whether the library will be required by enabling a feature. I thought it will be simpler to add java.library.path to take care of the dependency at the app-level. > ContainerLocalizer should get the proper java.library.path from > LinuxContainerExecutor > -------------------------------------------------------------------------------------- > > Key: MAPREDUCE-3259 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-3259 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: mrv2, nodemanager > Affects Versions: 0.23.0, 0.24.0 > Reporter: Kihwal Lee > Assignee: Kihwal Lee > Priority: Blocker > Fix For: 0.23.0, 0.24.0 > > Attachments: mapreduce-3259.patch, mapreduce-3259.patch.txt > > > As seen in MAPREDUCE-2915, java.library.path is not being passed when the LCE > spawns a JVM for ContainerLocalizer. > However, unlike branch-0.20-security, the task runtime in 0.23 is unaffected > by this. This is because tasks' run-time environment is specified in the > launch script by client. Setting LD_LIBRARY_PATH is the primary way of > specifying the locations of required native library in this case. The config > property, mapreduce.admin.user.env is always set in the job environment and > the default value is to add the path to the hadoop native library to > LD_LABRARY_PATH. > For JVM's being launched by the hadoop system scripts, java.library.path is > set. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira