我正在尝试使用 Ventura Os 连接到 mac Os M1 芯片中的嵌入式 cassandra
卡桑德拉版本:3.11.14 嵌入式 Cassandra 版本:4.0.7
我得到了
线程“main”com.github.nosan.embedded.cassandra.CassandraException 中出现异常:无法启动 DefaultCassandra{name='cassandra-0', version='3.11.14'}。引起:java.io.FileNotFoundException:/var/folders/50/fwdzhkdd4zz_yn53s0szx2vw0000gq/T/apache-cassandra-6267611957967446273/bin/cassandra不存在。
我尝试调试在 apache-cassandra-6267611957967446273 内创建的所有文件夹,但未创建 bin 文件夹。
帮助会很棒。
寻求修复帮助
我今天尝试运行它,我得到了什么:
public class CassandraExample {
public static void main(String[] args) {
Cassandra cassandra = new CassandraBuilder()
.addJvmOptions("-Xmx1024m", "-Xms1024m", "-Xss700k")
.version("3.11.14")
.build();
cassandra.start();
try {
System.out.println(cassandra.getSettings().getPort());
}
finally {
cassandra.stop();
}
}
}
ERROR [main] 2023-11-21 10:51:43,122 NativeLibraryDarwin.java:64 - Failed to link the C library against JNA. Native methods will be unavailable.
java.lang.UnsatisfiedLinkError: /private/var/folders/gq/64q79vjd4w16f9lzpl59mv8m0000gn/T/jna--1523686274/jna6880458316740657136.tmp: dlopen(/private/var/folders/gq/64q79vjd4w16f9lzpl59mv8m0000gn/T/jna--1523686274/jna6880458316740657136.tmp, 0x0001): tried: '/private/var/folders/gq/64q79vjd4w16f9lzpl59mv8m0000gn/T/jna--1523686274/jna6880458316740657136.tmp' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/private/var/folders/gq/64q79vjd4w16f9lzpl59mv8m0000gn/T/jna--1523686274/jna6880458316740657136.tmp' (no such file), '/private/var/folders/gq/64q79vjd4w16f9lzpl59mv8m0000gn/T/jna--1523686274/jna6880458316740657136.tmp' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64'))
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1950)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1832)
at java.lang.Runtime.load0(Runtime.java:811)
at java.lang.System.load(System.java:1088)
at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:851)
at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:826)
at com.sun.jna.Native.<clinit>(Native.java:140)
at com.sun.jna.NativeLibrary.<clinit>(NativeLibrary.java:84)
at org.apache.cassandra.utils.NativeLibraryDarwin.<clinit>(NativeLibraryDarwin.java:55)
at org.apache.cassandra.utils.NativeLibrary.<clinit>(NativeLibrary.java:90)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:212)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:633)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:786)
WARN [main] 2023-11-21 10:51:43,123 StartupChecks.java:136 - jemalloc shared library could not be preloaded to speed up memory allocations
WARN [main] 2023-11-21 10:51:43,123 StartupChecks.java:169 - JMX is not enabled to receive remote connections. Please see cassandra-env.sh for more info.
ERROR [main] 2023-11-21 10:51:43,124 CassandraDaemon.java:803 - The native library could not be initialized properly.
at com.github.nosan.embedded.cassandra.DefaultCassandra.await(DefaultCassandra.java:235)
... 2 more
您确定Apache Cassandra 3.11.14支持M1芯片吗?
关于您关于 FileNotFoundException 的问题,看起来下载的文件有问题。
您可以清理 ~/.embedded-cassandra 目录并重试吗?