![Centos의 Elasticsearch에서 "jna를 로드할 수 없습니다" 오류](https://linux55.com/image/113517/Centos%EC%9D%98%20Elasticsearch%EC%97%90%EC%84%9C%20%22jna%EB%A5%BC%20%EB%A1%9C%EB%93%9C%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%22%20%EC%98%A4%EB%A5%98.png)
이 문제에 대한 해결책은 무엇입니까?
Centos 6.8에 elasticsearch 5.4.1을 새로 설치하세요.
[2017-06-15T13:54:19,140][WARN ][o.e.b.Natives ] unable to load JNA n
ative support library, native methods will be disabled.
java.lang.UnsatisfiedLinkError: /tmp/jna--1985354563/jna5608110195315969032.tmp:
/tmp/jna--1985354563/jna5608110195315969032.tmp: failed to map segment from sha
red object: Operation not permitted
at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[?:1.8.0_131
]
at java.lang.ClassLoader.loadLibrary0(Unknown Source) ~[?:1.8.0_131]
at java.lang.ClassLoader.loadLibrary(Unknown Source) ~[?:1.8.0_131]
at java.lang.Runtime.load0(Unknown Source) ~[?:1.8.0_131]
at java.lang.System.load(Unknown Source) ~[?:1.8.0_131]
at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java
:947) ~[jna-4.4.0.jar:4.4.0 (b0)]
at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:922) ~[jna-4
.4.0.jar:4.4.0 (b0)]
at com.sun.jna.Native.<clinit>(Native.java:190) ~[jna-4.4.0.jar:4.4.0 (b
0)]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_131]
at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_131]
at org.elasticsearch.bootstrap.Natives.<clinit>(Natives.java:45) [elasti
csearch-5.4.1.jar:5.4.1]
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.jav
a:105) [elasticsearch-5.4.1.jar:5.4.1]
답변1
이 문제를 해결했습니다.
/tmp는 noexec로 마운트됩니다.
exec를 통해 /tmp를 마운트하도록 /etc/fstab을 업데이트하여 문제가 해결되었습니다.
여기에서 부분적으로 논의됨 https://github.com/elastic/elasticsearch/issues/18406