hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhijie Shen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-11764) Hadoop should have the option to use directory other than tmp for extracting and loading leveldbjni
Date Tue, 31 Mar 2015 21:16:53 GMT

    [ 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)

Mime
View raw message