【问题标题】:How to force Cassandra not to use the same node for replication in a schema with vnodes如何强制 Cassandra 不在具有 vnode 的模式中使用相同的节点进行复制
【发布时间】:2016-09-16 11:29:11
【问题描述】:

在单个节点中安装 Cassandra 以运行一些测试,我们注意到我们使用的 RF 为 3,并且一切正常。

这当然是因为该节点有 256 个 vnode(默认情况下),因此相同的数据可以在不同 vnode 的同一节点中复制。

这令人担忧,因为如果一个节点发生故障,即使您认为数据被复制到不同的节点,您也会丢失所有数据。

如何确保在标准安装中(带有多个节点的环)相同的数据不会被复制到同一个“物理”节点中?有没有设置可以避免 Cassandra 使用同一个节点来复制数据?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    复制策略依赖于模式。您可能在架构中使用了 SimpleStrategyRF=3。这意味着每条数据将被放置在由分区键确定的节点上,并且连续的副本将被放置在连续的节点上。在您的情况下,后续节点是 same physical 节点,因此您在那里获得 3 个数据副本。

    增加节点数量可以解决您的问题。一般来说,当您的复制因子 RF 小于/等于您的节点数 N 时,您的数据将被放置在不同的物理节点中。

    另一种解决方案是切换复制策略,使用NetworkTopologyStrategy,通常用于多数据中心集群,您可以在其中指定每个数据中心需要多少个副本。这个策略

    通过顺时针走环将副本放置在同一个数据中心 直到到达另一个机架中的第一个节点。 网络拓扑策略 尝试将副本放在不同的机架上,因为节点在同一 机架(或类似的物理分组)经常同时失败,原因是 电源、冷却或网络问题。

    查看DataStax documentation了解更多信息。

    【讨论】:

      【解决方案2】:

      如果没有 vnode,每个物理节点都拥有一个令牌范围。使用 vnode,每个物理节点将拥有多个不连续的令牌范围(也称为 vnode),而且 vnode 被随机分配给物理节点。

      这意味着即使数据在主副本节点旁边的 vnode 上复制(即使用 SimpleStrategy 时),副本也将 - 很有可能但不能保证 - 位于不同的物理节点上.

      这个随机分配可以在nodetool ring的输出中看到。

      更多信息可以在here找到。

      【讨论】:

        【解决方案3】:

        Cassandra 将副本存储在同一键空间中的不同节点上。在同一个键空间中有多个副本是没有意义的。如果复制因子超过节点数,则节点数就是您的复制因子。

        但是,为什么这不是错误?好吧,这允许以后配置更多节点。

        As a general rule, the replication factor should not exceed the number of nodes in the cluster. However, you can increase the replication factor and then add the desired number of nodes later.

        【讨论】:

        • 我认为您将tokenkeyspace 混淆了。
        • 是的,我非常了解键空间和令牌的工作原理。你能解释一下为什么你认为我的评论让他们感到困惑吗?
        • 让我感到困惑的是“Cassandra 将副本存储在不同节点in 相同的键空间”位。键空间(好吧,他们的数据)是在不同(v)节点之间复制的东西。因此,我认为您的意思可能是“Cassandra 在不同节点上存储令牌副本”。 [作为旁注,我意识到我的评论并没有完全传达这一点]。
        • 考虑一个具有四个节点且 RF=3 的集群中的键空间“foo”。对于给定的主键,您将有三个节点在键空间“foo”中保存数据。在 Juan 的示例中,如果您有一个节点且 RF=3,那么您将拥有一个节点,其中包含键空间“foo”中的数据的单个副本。
        猜你喜欢
        • 1970-01-01
        • 2017-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-17
        • 2014-12-19
        • 2023-03-23
        相关资源
        最近更新 更多