<p dir="auto"><strong>Elasticsearch version</strong>: 2.3.2</p>
<p dir="auto"><strong>JVM version</strong>: java version "1.8.0_45"<br>
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)<br>
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)</p>
<p dir="auto"><strong>OS version</strong>: Centos 7 SELinux enabled</p>
<p dir="auto"><strong>Description of the problem including expected versus actual behavior</strong>:<br>
We have hardened Centos 7 where /tmp is not writeable<br>
We have elasticsearch homedir in custom location and we link that custom location into /var/lib/elasticsearch.<br>
We define tmp dir path in /etc/sysconfig/elasticserach as</p>
<h1 dir="auto">Additional Java OPTS</h1>
<p dir="auto">ES_JAVA_OPTS="-Djna.tmpdir=/var/lib/elasticsearch/tmp" (we also tried without "" and with java.io.tmpdir=)</p>
<p dir="auto"><strong>Steps to reproduce</strong>:</p>
<ol dir="auto">
<li>change tmpdir path in sysconfig</li>
<li>restart application</li>
</ol>
<p dir="auto"><strong>Provide logs (if relevant)</strong>:<br>
<code class="notranslate">[2016-05-17 12:31:30,875][WARN ][bootstrap                ] unable to load JNA native support library, native methods will be disabled. java.lang.UnsatisfiedLinkError: /tmp/jna--1985354563/jna306419785920339930.tmp: /tmp/jna--1985354563/jna306419785920339930.tmp: failed to map segment from shared object: Operation not permitted at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.load0(Unknown Source) at java.lang.System.load(Unknown Source) at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:761) at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:736) at com.sun.jna.Native.&lt;clinit&gt;(Native.java:131) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.elasticsearch.bootstrap.Natives.&lt;clinit&gt;(Natives.java:45) at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:89) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)</code><br>
<a href="https://github.com/elastic/elasticsearch/files/268267/elasticsearch_dump.txt">elasticsearch_dump.txt</a></p>
<p dir="auto"><strong>Elasticsearch version</strong>: 2.3.2</p>
<p dir="auto"><strong>JVM version</strong>: java version "1.8.0_45"<br>
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)<br>
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)</p>
<p dir="auto"><strong>OS version</strong>: Centos 7 SELinux enabled</p>
<p dir="auto"><strong>Description of the problem including expected versus actual behavior</strong>:<br>
We have hardened Centos 7 where /tmp is not writeable<br>
We have elasticsearch homedir in custom location and we link that custom location into /var/lib/elasticsearch.<br>
We define tmp dir path in /etc/sysconfig/elasticserach as</p>
<h1 dir="auto">Additional Java OPTS</h1>
<p dir="auto">ES_JAVA_OPTS="-Djna.tmpdir=/var/lib/elasticsearch/tmp" (we also tried without "" and with java.io.tmpdir=)</p>
<p dir="auto"><strong>Steps to reproduce</strong>:</p>
<ol dir="auto">
<li>change tmpdir path in sysconfig</li>
<li>restart application</li>
</ol>
<p dir="auto"><strong>Provide logs (if relevant)</strong>:<br>
<code class="notranslate">[2016-05-17 12:31:30,875][WARN ][bootstrap                ] unable to load JNA native support library, native methods will be disabled. java.lang.UnsatisfiedLinkError: /tmp/jna--1985354563/jna306419785920339930.tmp: /tmp/jna--1985354563/jna306419785920339930.tmp: failed to map segment from shared object: Operation not permitted at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.load0(Unknown Source) at java.lang.System.load(Unknown Source) at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:761) at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:736) at com.sun.jna.Native.&lt;clinit&gt;(Native.java:131) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.elasticsearch.bootstrap.Natives.&lt;clinit&gt;(Natives.java:45) at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:89) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)</code><br>
<a href="https://github.com/elastic/elasticsearch/files/268267/elasticsearch_dump.txt">elasticsearch_dump.txt</a></p>