[
https://issues.apache.org/jira/browse/HADOOP-11764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14389429#comment-14389429
]
Zhijie Shen commented on HADOOP-11764:
--------------------------------------
bq. It just needs to be set as a system property prior to invoking the class.
That's all putting it on the command line does, so why can't we do this in
Configuration?
bq. Isnt that better than adding code in each daemon to read from the
configuration and set it to the environment?
That sounds true. However, I agree with [~adhoot] that it's better to setup
env vars instead of modifying each daemon to set system property
programatically.
bq. This is an unrelated problem to the one this jira is solving. The current
jira is not solving native lib not found. Rather the jar cannot be extracted
and executed because of noexec permissions.
The reason is that just moving tmp file generated for leveldbjni out of /tmp is
not going to fix the problem. Instead of {{Operation not permitted}}, we will
encounter {{not found}} problem, and finally the native code is still not
linked if {{JAVA_LIBRARY_PATH}} doesn't include {{library.leveldbjni.path}} (by
default it doesn't library.leveldbjni.path is some customized path).
I don't think it's a complete solution if now we have BUG A, and after we fix
it, we have BUG B. Therefore, my proposal is if {{HADOOP_LEVELDBJNI_DIR}} is
specified, it will set to {{library.leveldbjni.path}} as well as be added to
{{JAVA_LIBRARY_PATH}}. Thoughts?
bq. This is sounding more and more like a complete mess,
Would you mind elaborating what is the complete mess? The admin just needs to
set HADOOP_LEVELDBJNI_DIR to somewhere else than /tmp if /tmp is mounted as
noexec. If HADOOP_LEVELDBJNI_DIR is not set, it will just work as what it is
now.
> Hadoop should have the option to use directory other than tmp for extracting
> and loading leveldbjni
> ---------------------------------------------------------------------------------------------------
>
> Key: HADOOP-11764
> URL: https://issues.apache.org/jira/browse/HADOOP-11764
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: Anubhav Dhoot
> Assignee: Anubhav Dhoot
> Attachments: YARN-3331.001.patch, YARN-3331.002.patch
>
>
> /tmp can be required to be noexec in many environments. This causes a
> problem when nodemanager tries to load the leveldbjni library which can get
> unpacked and executed from /tmp.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)