【问题标题】:Three node Cassandra cluster all nodes configured different rack in same dc三节点 Cassandra 集群所有节点在同一个 dc 中配置不同的机架
【发布时间】:2020-06-14 03:27:22
【问题描述】:

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

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

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

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

提前谢谢..

【问题讨论】:

    标签: cassandra nosql replication cassandra-3.0


    【解决方案1】:

    Ans 1) 将 Cassandra 节点放在不同的机架中以提高可用性和容错性似乎很好。 Ans 2)您必须在 system_auth 上增加 RF,以便您可以避免来自其他节点的 cqlsh 登录问题。 Ans 3)您可以添加新节点而不影响现有集群上的实时流量。请遵循以下程序。 http://cassandra.apache.org/doc/latest/operating/topo_changes.html

    【讨论】:

      【解决方案2】:

      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

      【讨论】:

        猜你喜欢
        • 2020-07-11
        • 2013-04-05
        • 2020-07-08
        • 2022-01-19
        • 1970-01-01
        • 2019-04-28
        • 2021-11-02
        • 2012-02-07
        • 1970-01-01
        相关资源
        最近更新 更多