版本:
jdk1.8 、cassandra3.9
问题(Unrecognized VM option 'UseParNewGC' Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.):
这个错误信息表明在启动Java应用程序时,遇到了一个不被当前Java虚拟机(JVM)识别的垃圾收集器(Garbage Collector)选项。在这个案例中,'UseParNewGC' 是一个用于指定使用并行新生代垃圾收集器的选项,但它可能在您正在使用的Java版本中已被弃用或不再支持。
如果你使用的是cassandra3.9版本,那么由于兼容原因从Java 9开始,HotSpot JVM默认启用了G1垃圾收集器,并且逐渐淘汰了一些旧的垃圾收集器,包括Parallel New(ParNew)。所以不匹配,建议将java环境降到Java8
问题(EXCEPTION_ACCESS_VIOLATION (0xc0000005) ):
配置好Java环境后 ,用cmd启动cassandra,报错EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000010014ed4, pid=23108, tid=0x0000000000000a90,错误信息表明在运行Java程序时,Java运行时环境(JRE)检测到了致命错误(fatal error),具体表现为一个ACCESS_VIOLATION异常(0xc0000005)。这是一个操作系统级别的错误,意味着程序试图访问受保护的内存地址或执行非法操作,通常表明存在内存访问冲突或破坏了内存布局。问题发生在加载了名为 sigar-amd64-winnt.dll
的动态链接库文件的一个函数中,地址位于 0x0000000010014ed4
。sigar
是一个系统监控库,用于提供操作系统级别的信息统计和监控。
这似乎是个旧版本的bug,下载文章提供文件,在“磁盘\...\apache-cassandra-3.9\lib”位置替换文件即可(请确保是3.9版本,3.11似乎可以,但是4.0及以上版本和jdk8以后的版本变化过大,不介意使用此方法)