首页 > 解决方案 > 三节点 Cassandra 集群所有节点在同一个 dc 中配置不同的机架

问题描述

我是卡桑德拉的新手。在我们的生产环境中,三个节点 Cassandra 集群正在运行并为生产流量提供服务,但我在下面提到了一些疑问:-

1) 所有节点都配置在不同的机架中,即机架 1、机架 2 和机架 3 在同一个 dc 中。很好还是这种配置有一些缺点?

2) 我们对除系统表之外的所有键空间使用 rf2 和网络拓扑,并且这些系统表配置有 rf2 和最简单的策略 .. 可以吗,还是需要更改?我们应该增加system_auth的复制因子吗?..请告诉我..

3) 现在我想在同一个 dc 中添加另一个节点,在不影响实时流量的情况下,最好的程序是什么?Cassandra 版本是 Apache cassandra 3.11。

提前致谢..

标签: cassandranosqlreplicationcassandra-3.0

解决方案


Cassandra 被设计成一个分布式系统。Cassandra 的分布式架构专为多数据中心部署量身定制。这些功能足够强大和灵活,您可以配置集群以获得最佳地理分布,为故障转移和灾难恢复提供冗余。

多数据中心部署非常适合全球解决方案,其中某些应用程序在一个区域运行,而其他应用程序在另一个区域运行,但使用单个 Cassandra 集群,该集群在跨区域的多个数据中心工作。

对于单区域应用程序,仍然拥有多个数据中心是首选选项,因为即使一个区域出现故障,它也可以提供灾难恢复。

Ans 1)对于单个 DC Cassandra 集群,建议使用 RF3 的 4 个节点。机架 1 有 2 个节点,机架 2 有 2 个节点。请记住,同一机架中的节点比不同机架中的节点具有更快的网络。在同一个 Rack 上使用两个节点时,使用 LOCAL_QUORUM 的查询将比在具有不同机架上的所有节点的集群上的查询更快。

如果您不关心查询延迟,与两个 RACK 部署相比,不同机架(3 个机架)中的所有节点将提供更好的灾难恢复。话虽如此,始终建议对生产集群使用多 DC 部署。

Ans 2)始终建议增加 System_auth 密钥空间的复制因子并将复制类更改为 NetworkTopologyStrategy。请按照此文档了解更多详细信息 https://docs.datastax.com/en/security/6.0/security/secSystemKeyspace.html

Ans 3)是的,您可以轻松地将新节点添加到现有集群,而不会影响流量。请按照此文档了解更多详细信息:https ://docs.datastax.com/en/archived/cassandra/3.0/cassandra/operations/opsAddNodeToCluster.html


推荐阅读