我可以在 cassandra 的多数据中心配置中使用不同的分区器吗?

Posted

技术标签:

【中文标题】我可以在 cassandra 的多数据中心配置中使用不同的分区器吗?【英文标题】:Can I have different partitioners in a multiple datacenter configuration in cassandra? 【发布时间】:2013-09-18 16:22:48 【问题描述】:

我可以在 datacenter1 的集群中使用 RandomPartitioner,在 datacenter2 的集群中使用 Murmur3Partitioner 吗?

【问题讨论】:

再补充一点——如果你打算从 Cassandra 1.0.x 升级到 C1.2.x 或更高版本,你只需要使用 RandomPartitioner,你不能在升级后的集群上使用 Murmur3Partitioner。 【参考方案1】:

不,您需要在集群中的所有节点上使用相同的分区器。

如果您问这个是因为您想要一种从 RandomPartitioner 迁移到 Murmur3Partitioner 的方法,那么不幸的是它不会起作用。我不知道在实时集群上迁移到 Murmur3Partitioner 的方法,但好处很小,所以不太值得这样做。

【讨论】:

即使它们是不同数据中心上的 2 个集群?我知道您所说的在单个数据中心部署中是正确的,但我特别是在多数据中心部署中询问。此外,新的数据中心一开始是空的。 分区器仍然需要相同。无论哪个数据中心,每个节点都需要能够计算任何密钥的副本。这仅在所有节点使用相同的分区器时才有效。为什么要混合分区器? 只是因为新推荐的一个是Murmur,我计划在新的完全引导后停用原来的集群。我想我将不得不与 RandomPartitioner 一起生活。

以上是关于我可以在 cassandra 的多数据中心配置中使用不同的分区器吗?的主要内容,如果未能解决你的问题,请参考以下文章

Apache Cassandra随笔之多节点跨数据中心集群配置以及日常操作

如何安装和配置Cassandra

cassandra数据库

Cassandra - Dev中心无法连接到Cassandra集群的所有3个节点

从本地连接到客户端 cassandra

在Cassandra中加载cassandra.yaml之外的其他配置文件