use*_*784 11 cassandra datastax java-10
我们计划将我们的环境从Java 8迁移到OpenJDK 10.在我的本地计算机上执行此操作,我发现Cassandra将不再为我启动,给出以下错误:
我无法在网上找到任何可靠信息,表示绝对不支持.
这篇帖子从4个月前开始表明他们不支持Java 10,但并没有说它已得到确认,而且更为推断.另一位用户也发表评论说他们已经设法让它在Java 11上运行.
关于这个数据集票据的最终评论说:"我们已经更新了我们的CI矩阵以包含Java 10,除了前面提到的OSGi测试问题之外,一切都有效." 我不知道该从中拿走什么,但它似乎暗示它现在正在使用Java 10,因为票证被标记为已解决.
这张票,他们讨论了对Java 11的支持.有一些评论讨论了甚至支持Java 10的必要性,但他们并没有真正给出关于它们是否能够的明确答案.
最后,本博客讨论了一种让Java 11与cassandra一起工作的方法.但是我注意到这是使用Cassandra 4.0.这个正式发布了吗?我在他们的网站上注意到他们说发布日期是tbd,并说目前的稳定版本是3.11.3,并且在兼容性页面上没有提到它.
我目前通过Datastax在Windows上安装了Cassandra,但我也尝试克隆当前的git存储库并从那里运行它,但是我得到了相同的错误消息(虽然在他们的github上他们似乎确实说它只用Java 8测试过).
他们根本不支持10吗?此外,如果有人知道他们是否计划很快发布4.0,如果这肯定会支持11(我假设10?),那将是一个巨大的帮助.
Aar*_*ron 16
Cassandra 4.0明确支持Java 8和Java 11.事实上,他们甚至将配置文件拆分为:
$ pwd
/Users/aaron/local/apache-cassandra-4.0-SNAPSHOT/conf
$ ls -a jvm*
jvm-clients.options jvm11-clients.options jvm8-clients.options
jvm-server.options jvm11-server.options jvm8-server.options
Run Code Online (Sandbox Code Playgroud)
支持这些特定版本的原因是双重的.首先,Java 8几年来一直是Cassandra事实上的标准.用户希望将来它仍然适用于Java 8.
鉴于Java新的6个月发布周期,当Apache Cassandra 4.0问世时,Java 9和Java 10将不再是"最新的".另外,在构建过程中运行的测试表明他们使用的Java版本很挑剔.因此,决定支持Java 8和11 for 4.0,因为Java 9和10的工作似乎优先级较低.
这并不是说Cassandra 4.0不能在Java 9或10上运行.事实上,CASSANDRA-9608甚至还提交了一个应该覆盖它的补丁.但事实仍然是Java 8因其在Cassandra用户群中的长期使用而被包括在内.Java 11将是4.0发布时的当前JDK/JRE.如果你想确保你的集群运行良好,我会选择其中一个.
但是到4.0之前,最新的Java 8补丁确实是唯一的选择.
在 Cassandra 3.11.4 中,我们已经能够使用 Java 11 执行 Cassandra 引擎,但存在一些问题:
jvm.options文件中设置的。ThreadPriorityPolicy它,因为它已被Java 9弃用jvm.options. 其中一些参数是:
nodetool 仍然需要 Java 8 才能执行。
对于使用offheap_buffersfor memtable_allocation_type(在 中定义cassandra.yaml)的集群,我们必须将其更改为使用offheap_objects
| 归档时间: |
|
| 查看次数: |
1952 次 |
| 最近记录: |