请帮忙:) 尝试启动 Cassandra 4.0 版本并收到此错误:
CassandraDaemon.java:911 - The native library could not be initialized properly.
之前还有另一个错误:
NativeLibraryLinux.java:65 - Failed to link the C library against JNA. Native methods will be unavailable.
下载了JNA较新版本并手动替换,所以现在只剩下一个错误了:)
有什么想法吗?已经用谷歌搜索了所有内容,TMP dir 是可执行的,甚至将其更改为自定义...还有什么可以?
openjdk 11.0.21 2023-10-17 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.21.0.9-1) (build 11.0.21+9-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.21.0.9-1) (build 11.0.21+9-LTS, mixed mode, sharing)
cassandra-4.0.11
所以发生这个错误是因为 JNA 库是用较新版本的 glibc 编译的。
我在 Mac 上下载了 Cassandra 4.0.11(诚然,与 Linux 不同),尝试运行它,并看到了相同的错误。
下载JNA较新版本并手动替换
所以我接下来就这样做了。将 Cassandra 4.0.11 的
jna-5.6.0.jar
替换为 jna-5.13.0.jar
,Casasndra 为我启动了。
您运行的是哪种 Linux 风格和版本?尝试按照此答案中的步骤检查您拥有的 glibc 版本:检查特定 gcc 编译器的 glibc 版本
根据您的 Linux 或 glibc 版本,您可能需要查找特定的 JNA 库。或者安装/升级到您的 Linux 风格的新版本可能是值得的。