当在命令提示符下在bin文件夹下运行Cassandra启动它时,我一直得到以下错误:
WARN [main] 2022-06-21 21:37:33,563 NativeLibraryWindows.java:53 - JNA未找到。本机方法将被禁用。
WARN [main] 2022-06-21 21:37:33,563 StartupChecks.java:169 - JMX未启用接收远程连接。更多信息请参见cassandra-env.sh。
ERROR [main] 22-06-21 21:37:33,564 CassandraDaemon.java:803 -本机库无法正确初始化。
我用的是Windows 10 64位,按照本教程的每一个说明安装Cassandra 3。我也参考了这个视频
我已经按照预期设置了环境变量JAVA_HOME, CASSANDRA_HOME,检查了JNA jar是否存在于lib文件夹中,我能想到的一切(甚至尝试不同版本的Java,编辑cassandra-env.sh文件上的设置)
这不是一个全新的错误:我在其他版本的Cassandra上也看到了它。但这似乎是因为jar文件不存在于lib文件夹中?在我的例子中,jar文件存在于预期的位置。但我仍然看到这个问题。
奇怪的是,当我通过Docker安装Cassandra时,它在启动时完全没有问题。我想知道为什么它不能通过脚本完成!
JNA版本在4。x范围(它们是Cassandra旧版本的依赖项)被动态链接到msvcr100.dll
。错误信息是误导性的,但在你链接的视频中提到了,从9:56开始。
在你的系统中获取dll最简单的方法是安装Visual c++ Runtime。最新支持的版本可以从以下永久链接下载:
- ARM64
- X86
- X64
您不需要在最新版本中手动包含JNA JAR文件;它们由依赖管理器下载。你也可以使用5。X版本的JNA与您的依赖管理器,尽管这可能不向后兼容旧的Cassandra版本。