是否所有 Apache Cassandra 节点都需要使用相同的垃圾收集器?

Do all Apache Cassandra nodes need to use the same Garbage Collector?

我最近将我们的 Cassandra 集群从 3.11 升级到 4.0,长期目标是升级 Java 版本。出于明显的原因,我不想同时做这两件事,但是我们已经在 C4 上升级了两周多了,我希望将 Java 版本从 jdk8 升级到 jdk11,并且从 CMS 垃圾收集器移动到 G1GC。

我们想在对所有节点进行大爆炸之前了解迁移到 G1GC 的影响。

在不同的节点上使用不同的垃圾收集器是否安全?还是应该在测试环境中设置一些东西来监控?

提前致谢。

从逻辑上讲你可以这样做,因为它们在不同的机器上是不同的 java 进程 运行。您这样做的实际意图 activity 是为了测试您必须首先分析对测试环境的影响,然后在您发现测试结果合适时将更改应用于生产。

是的!这实际上是 changing/testing 新 GC 类型时的推荐做法,假设您无法在较低的环境中完全模拟生产工作负载。

我建议在一个或两个节点上进行切换,然后监控它们相对于 CMS 节点的性能。