我在maven verify
中进行了集成测试,它启动了Apache Cassandra 3.11.13。我正在使用e1d1e3.7。我尝试将项目移动到Java 11。在将Java 11 vm选项添加到cassandra-maven-plugin
后:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cassandra-maven-plugin</artifactId>
<configuration>
<addJdk11Options>${runningJava11}</addJdk11Options>
.....
我让Cassandra从Linux开始,但在Windows上崩溃了,不幸的是没有日志。
2条答案
按热度按时间bkhjykvo1#
我能够创建
cassandra-maven-plugin
使用的相同JVM参数,但将slf4j-jdk14-1.7.32.jar
添加到类路径中。启动mvn -X
时可以打印JVM参数,但类路径和主类可以在git\software-app\target\cassandra\bin\cassandri中找到。cassandra-maven-plugin
Package 的jar。在日志中我发现了这个错误:在这里输入代码2022年8月20日9:32:12 PM org.apache.cassandra.service。DefaultFSErrorHandler handleStartupFSError SEVERE:由于启动时文件系统异常,磁盘故障策略“停止”,强制退出Cassandra似乎正在试图删除一个仍处于打开状态的文件。在修改
target/cassandra/conf/cassandra.yaml
后,我通过设置以下内容启动了Cassandra:因为这是一个只测试的示例,所以我决定,我可以接受这个选项。不幸的是,这个yaml文件是由
cassandra-maven-plugin
生成的。在深入研究插件代码之后,我找到了yaml
参数,它合并了pom中的配置。xml和默认配置文件:zf9nrax12#
Cassandra使用的Java文件I/O库在Windows上一直存在问题,尤其是在NTFS上。对于用户来说,这一直是一个问题的来源,我们认为继续支持项目是不好的(参见discussion in this thread)。
我们最终在Cassandra 4.0(CASSANDRA-16171)中完全放弃了Windows支持。
此外,Cassandra 3.1x(及更早版本)仅适用于Java 8(请参见Cassandra installation prerequisites)。Cassandra 4.0.2最近才添加了对Java 11的完全支持(以前是实验性的)(CASSANDRA-16894)。这意味着C*4.x可以与Java8或Java11一起工作。
建议Windows用户的解决方法是:
否则,如果你只想学习如何在Cassandra上构建应用程序,Astra DB有一个免费层,你只需点击5次即可启动集群。干杯