无法启动 Cassandra,出现 UnsatisfiedLinkError:“无法从共享对象映射段”/tmp

问题描述 投票:0回答:1

我正在使用 apache-cassandra-4.1.3 但当我要启动服务时出现如下错误

... NativeTransportService.java:166 - epoll not available
java.lang.UnsatisfiedLinkError: /tmp/libnetty_transport_native_epoll_x86_646819022871921751861.so: \
  /tmp/libnetty_transport_native_epoll_x86_646819022871921751861.so:  \
  failed to map segment from shared object

在 Redhat-8.6 上安装 Cassandra 并希望克服此错误。

cassandra
1个回答
0
投票

UnsatisfiedLinkError
几乎总是权限问题。您可能还会在日志中看到“不允许操作”。

发生这种情况是因为 Cassandra 无权执行

/tmp
目录中的共享库,因为它是使用
noexec
选项挂载的。

您可以通过在 JVM 选项中指定不同的

tmp
目录来解决此问题。例如:

JVM_OPTS="$JVM_OPTS \
  -Djava.io.tmpdir=/path/to/java_io/tmp \
  -Djna.tmpdir=/path/to/jna/tmp_directory"

You need to make sure that the Cassandra process has full access to the directories (including the parents) -- read, write and execute permissions. Cheers!
© www.soinside.com 2019 - 2024. All rights reserved.