请帮助:)尝试启动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目录是可执行的,甚至把它改成了自定义的...还有什么可以的?
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
型
2条答案
按热度按时间u7up0aaq1#
Linux版本是Rocky Linux 9,已经用最新的取代了jna,但没有运气,glibc也不是最老的:)
无论如何,通过单独安装JNA并创建符号链接来解决问题:ln -s/usr/share/java/jna. jar/usr/share/cassandra/lib
也从/usr/share/cassandra/lib中删除了jna-5.13.0.jar
fhg3lkii2#
所以这个错误的发生是因为JNA library was compiled with a newer version of glibc。
我在Mac上下载了Cassandra 4.0.11(诚然,与Linux不一样),试图运行它,看到了同样的错误。
下载JNA更新版本并手动更换
所以我接下来就这么做了。用
jna-5.13.0.jar
替换了Cassandra 4.0.11的jna-5.6.0.jar
,Casasndra为我启动了。您运行的是哪个Linux风格和版本?请按照以下答案的步骤检查您使用的是哪个版本的glibc:Check glibc version for a particular gcc compiler
根据您的Linux或glibc版本,您可能需要找到特定的JNA库。或者安装/升级到Linux版本的更新版本可能是值得的。