ES cannot load JNI on arm

Hi,

I got following warnings, when running elasticsearch on arm platform:

[2017-10-06T18:10:08,825][WARN ][o.e.b.Natives            ] unable to load JNA native support library, native methods will be disabled.
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-arm/libjnidispatch.so) not found in resource path ([file:/data/elastic/elasticsearch/elasti
csearch-5.6.2/lib/joda-time-2.9.5.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-spatial3d-6.6.1.jar, file:/data/elastic/elasticsearch/
elasticsearch-5.6.2/lib/lucene-highlighter-6.6.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/jackson-dataformat-yaml-2.8.6.jar, file:/data/
elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-suggest-6.6.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/log4j-api-2.9.1.jar, file:/d
ata/elastic/elasticsearch/elasticsearch-5.6.2/lib/jopt-simple-5.0.2.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/log4j-1.2-api-2.9.1.jar, fi
le:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-misc-6.6.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-grouping-6.6.1.
jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/jackson-dataformat-smile-2.8.6.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/ja
ckson-dataformat-cbor-2.8.6.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-backward-codecs-6.6.1.jar, file:/data/elastic/elasticsearch/
elasticsearch-5.6.2/lib/lucene-memory-6.6.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/t-digest-3.0.jar, file:/data/elastic/elasticsearch/
elasticsearch-5.6.2/lib/java-version-checker-5.6.2.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-analyzers-common-6.6.1.jar, file:/dat
a/elastic/elasticsearch/elasticsearch-5.6.2/lib/snakeyaml-1.15.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/securesm-1.1.jar, file:/data/ela
stic/elasticsearch/elasticsearch-5.6.2/lib/lucene-spatial-6.6.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/plugin-cli-5.6.2.jar, file:/dat
a/elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-queryparser-6.6.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-spatial-extras-
6.6.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/spatial4j-0.6.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-querie
s-6.6.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/jts-1.13.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-sandbox-6
.6.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/elasticsearch-5.6.2.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/hppc-0.7
.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/jna-4.4.0-1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/HdrHistogram-2.1.9
.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/log4j-core-2.9.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-core-6.6
.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/lucene-join-6.6.1.jar, file:/data/elastic/elasticsearch/elasticsearch-5.6.2/lib/jackson-core
-2.8.6.jar])
        at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:962) ~[jna-4.4.0-1.jar:4.4.0 (b0)]
        at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:922) ~[jna-4.4.0-1.jar:4.4.0 (b0)]
        at com.sun.jna.Native.<clinit>(Native.java:190) ~[jna-4.4.0-1.jar:4.4.0 (b0)]
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_144]
        at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_144]
        at org.elasticsearch.bootstrap.Natives.<clinit>(Natives.java:45) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.2.jar:5.6.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.2.jar:5.6.2]
[2017-10-06T18:10:08,915][WARN ][o.e.b.Natives            ] cannot check if running as root because JNA is not available
[2017-10-06T18:10:08,916][WARN ][o.e.b.Natives            ] cannot install system call filter because JNA is not available
[2017-10-06T18:10:08,921][WARN ][o.e.b.Natives            ] cannot register console handler because JNA is not available
[2017-10-06T18:10:08,950][WARN ][o.e.b.Natives            ] cannot getrlimit RLIMIT_NPROC because JNA is not available
[2017-10-06T18:10:08,951][WARN ][o.e.b.Natives            ] cannot getrlimit RLIMIT_AS beacuse JNA is not available
[2017-10-06T18:10:08,952][WARN ][o.e.b.Natives            ] cannot getrlimit RLIMIT_FSIZE because JNA is not available

After that ES boots and is accessible

Are these warnings critical? Will them degrade performance?
Any Idea how I can get JNA running on arm?

Thanks, Andreas

The warning is not critical. However, note that 32 bit support is removed in 6.0. The jna lib is shipped with aarch64 support though (although there is no official support for Elasticsearch on any arm, 32 or 64 bit).

thanks, ok, then I will ignore these messages

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.