使用自制软件将QuestDB更新到6.0.3后,我无法再启动它
$ questdb start
___ _ ____ ____
/ _ \ _ _ ___ ___| |_| _ \| __ )
| | | | | | |/ _ \/ __| __| | | | _ \
| |_| | |_| | __/\__ \ |_| |_| | |_) |
\__\_\\__,_|\___||___/\__|____/|____/
www.questdb.io
JAVA: /usr/lib/jvm/java-11-openjdk-11.0.11.0.9-1.el7_9.x86_64//bin/java
QuestDB server 6.0.3
Copyright (C) 2014-2021, all rights reserved.
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/libquestdb16783513652948944750.so: /tmp/libquestdb16783513652948944750.so: failed to map segment from shared object: Operation not permitted
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
at java.base/java.lang.Runtime.load0(Runtime.java:768)
at java.base/java.lang.System.load(System.java:1837)
at io.questdb@6.0.3/io.questdb.std.Os.loadLib(Os.java:161)
at io.questdb@6.0.3/io.questdb.std.Os.<clinit>(Os.java:179)
at io.questdb@6.0.3/io.questdb.ServerMain.<init>(ServerMain.java:98)
at io.questdb@6.0.3/io.questdb.ServerMain.main(ServerMain.java:259)我在CentOS Linux上使用的是自制软件。有人见过这个问题吗?
发布于 2021-07-19 05:20:50
问题是/tmp目录上的权限,即使错误没有说明任何有关它的内容。在QuestDB上,Java使用硬编码的/tmp作为临时目录,并且不会尝试使用任何环境变量来覆盖它。QuestDB尝试加载本机二进制文件,而java使用‘/tmp’解压并加载它。
唯一的解决方案是将'/tmp‘目录的exec权限添加到运行QuestDB的帐户。
https://stackoverflow.com/questions/68433173
复制相似问题