M1芯片MacBook Pro安装Cassandra4.0.1启动JNA链接报错如何解决?
报错根因
Cassandra 4.0.1版本内置的JNA(Java Native Access)库版本过低,未适配Apple M1系列芯片的arm64架构,启动加载本地依赖时无法找到匹配架构的二进制文件,对应报错日志中的no matching architecture in universal wrapper提示,最终原生库初始化失败导致启动终止。
可行解决方案
- 方案1:替换内置低版本JNA库
- 下载5.8.0及以上版本的JNA jar包(该版本开始正式支持arm64架构)
- 进入Homebrew安装Cassandra的依赖库目录:
cd /opt/homebrew/Cellar/cassandra/4.0.1/libexec/lib/ - 删除目录中原有的低版本
jna-*.jar文件,将新下载的高版本JNA jar包移入该目录 - 重新执行启动命令即可正常运行
- 方案2:使用Rosetta 2转译运行(临时兼容方案)
- 打开访达→应用程序→实用工具,右键点击「终端」,勾选「使用Rosetta打开」
- 重启终端后重新执行Cassandra启动命令,即可通过x86兼容模式运行,无需修改Cassandra内部文件
- 方案3:升级Cassandra到4.1及以上版本
4.1及更高版本的Cassandra已内置适配M1架构的高版本JNA,直接执行brew upgrade cassandra升级到最新稳定版即可解决问题。
内容的提问来源于stack exchange,提问作者Mansoor Ali Khan
相关产品推荐
相关产品推荐

