sstableloader-无法将C库与JNA链接 [英] sstableloader - Failed to link the C library against JNA

查看:174
本文介绍了sstableloader-无法将C库与JNA链接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在这里,我正在尝试还原密钥空间.而且我收到以下错误.

Here i'm trying to restore the keyspace. And i get the following error.

我在/etc/cassandra/conf/cassandra-env.sh中正确设置了JVM_OPTS ="$ JVM_OPTS -Djna.tmpdir =/var/lib/cassandra/tmp",并将cassandra放在没有问题的位置.

I correctly set JVM_OPTS="$JVM_OPTS -Djna.tmpdir=/var/lib/cassandra/tmp" in /etc/cassandra/conf/cassandra-env.sh, and strated cassandra without issue.

但是我仍然会收到此错误.

But i still get this error.

sstableloader --verbose --nodes 20.20.1.60 --port 9042 --throttle 1 --connections-per-host 100 --conf-path /etc/cassandra/conf/cassandra.yaml /tmp/backups/snap-20190509_170438/mykeyspace/logs/

WARN  20:20:58,282 Small commitlog volume detected at /var/lib/cassandra/commitlog; setting commitlog_total_space_in_mb to 1523.  You can override this in cassandra.yaml
WARN  20:20:58,292 Small cdc volume detected at /cdc_raw; setting cdc_total_space_in_mb to 2598.  You can override this in cassandra.yaml
WARN  20:20:58,589 Only 5.025GiB free across all data volumes. Consider adding more capacity to your cluster or removing obsolete snapshots
WARN  20:21:02,790 Failed to generate a seed from SecureRandom within 3 seconds. Not enough entrophy?
Established connection to initial hosts
ERROR 20:21:06,178 Failed to link the C library against JNA. Native methods will be unavailable.
java.lang.UnsatisfiedLinkError: /tmp/jna-3506402/jna2681108095753365508.tmp: /tmp/jna-3506402/jna2681108095753365508.tmp: failed to map segment from shared object: Operation not permitted
        at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[na:1.8.0_191]
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) ~[na:1.8.0_191]
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) ~[na:1.8.0_191]
        at java.lang.Runtime.load0(Runtime.java:809) ~[na:1.8.0_191]
        at java.lang.System.load(System.java:1086) ~[na:1.8.0_191]
        at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:851) ~[jna-4.2.2.jar:4.2.2 (b0)]
        at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:826) ~[jna-4.2.2.jar:4.2.2 (b0)]
        at com.sun.jna.Native.<clinit>(Native.java:140) ~[jna-4.2.2.jar:4.2.2 (b0)]
        at com.sun.jna.NativeLibrary.<clinit>(NativeLibrary.java:84) ~[jna-4.2.2.jar:4.2.2 (b0)]
        at org.apache.cassandra.utils.NativeLibraryLinux.<clinit>(NativeLibraryLinux.java:55) ~[apache-cassandra-3.11.4.jar:3.11.4]
        at org.apache.cassandra.utils.NativeLibrary.<clinit>(NativeLibrary.java:93) [apache-cassandra-3.11.4.jar:3.11.4]
        at org.apache.cassandra.utils.UUIDGen.hash(UUIDGen.java:388) [apache-cassandra-3.11.4.jar:3.11.4]
        at org.apache.cassandra.utils.UUIDGen.makeNode(UUIDGen.java:367) [apache-cassandra-3.11.4.jar:3.11.4]
        at org.apache.cassandra.utils.UUIDGen.makeClockSeqAndNode(UUIDGen.java:300) [apache-cassandra-3.11.4.jar:3.11.4]
        at org.apache.cassandra.utils.UUIDGen.<clinit>(UUIDGen.java:41) [apache-cassandra-3.11.4.jar:3.11.4]
        at org.apache.cassandra.streaming.StreamPlan.<init>(StreamPlan.java:36) [apache-cassandra-3.11.4.jar:3.11.4]
        at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:162) [apache-cassandra-3.11.4.jar:3.11.4]
        at org.apache.cassandra.tools.BulkLoader.load(BulkLoader.java:80) [apache-cassandra-3.11.4.jar:3.11.4]
        at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:48) [apache-cassandra-3.11.4.jar:3.11.4]
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.cassandra.utils.NativeLibraryLinux.getpid()J
        at org.apache.cassandra.utils.NativeLibraryLinux.getpid(Native Method)
        at org.apache.cassandra.utils.NativeLibraryLinux.callGetpid(NativeLibraryLinux.java:124)
        at org.apache.cassandra.utils.NativeLibrary.getProcessID(NativeLibrary.java:394)
        at org.apache.cassandra.utils.UUIDGen.hash(UUIDGen.java:388)
        at org.apache.cassandra.utils.UUIDGen.makeNode(UUIDGen.java:367)
        at org.apache.cassandra.utils.UUIDGen.makeClockSeqAndNode(UUIDGen.java:300)
        at org.apache.cassandra.utils.UUIDGen.<clinit>(UUIDGen.java:41)
        at org.apache.cassandra.streaming.StreamPlan.<init>(StreamPlan.java:36)
        at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:162)
        at org.apache.cassandra.tools.BulkLoader.load(BulkLoader.java:80)
        at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:48)

推荐答案

我发现我需要导出JNA.

I found it i need to export JNA.

export JVM_OPTS="$JVM_OPTS -Djna.tmpdir=/var/lib/cassandra/tmp"

这篇关于sstableloader-无法将C库与JNA链接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆