【问题标题】:Why and when to use Vnodes in Cassandra in real life production scenarios?为什么以及何时在实际生产场景中使用 Cassandra 中的 Vnode?
【发布时间】:2016-01-07 00:01:19
【问题描述】:

我知道您不必重新平衡 vnode,但我们什么时候真正使用 它在生产场景中?它的功能是否与物理单令牌节点相同?如果是这样,那为什么要使用单个令牌节点呢?如果我有大量数据和集群大小(比如 300 个节点),vnodes 是否有帮助?

【问题讨论】:

    标签: cassandra cassandra-2.0 cql3 cassandra-cli nosql


    【解决方案1】:

    使用 vnode 的主要好处是在引导新节点时可以更均匀地流式传输数据。为什么?那么,当添加一个新节点时,它将请求其令牌范围内的数据。最理想的情况是,它请求的数据将均匀分布在所有节点上,从而减少向引导节点发送数据的所有节点的工作量(并加快引导过程)。

    一旦您拥有大量物理节点,例如您的 300 个示例,这种好处似乎会减少(假设没有热点或数据分区问题)。除了文档中的内容之外,我不知道参考要使用或不使用 vnode 的节点数量的实际指南。是的,它已在生产中看到。

    更多信息可以在这里找到: http://docs.datastax.com/en/datastax_enterprise/4.8/datastax_enterprise/config/configVnodes.html

    【讨论】:

      【解决方案2】:

      除了克里斯的出色回答之外,我还要补充一点。当您有一个带有 vnode 的大型集群时,让 Cassandra 管理令牌范围会很有帮助。如果没有 vnode,您最终将不得不自己为每个(现有和)新节点调整和重新指定令牌范围。使用 vnodes,Cassandra 会为您处理。

      比较文档中列出的步骤的区别:

      添加不带 vnode 的节点:http://docs.datastax.com/en/cassandra/2.1/cassandra/operations/opsAddRplSingleTokenNodes.html

      对比

      使用 vnode 添加:http://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_add_node_to_cluster_t.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-03-25
        • 2012-11-06
        • 1970-01-01
        • 1970-01-01
        • 2019-08-12
        • 1970-01-01
        • 2017-10-02
        相关资源
        最近更新 更多