使用3分区器对cassandra节点进行分区

使用3分区器对cassandra节点进行分区,cassandra,database-partitioning,Cassandra,Database Partitioning,在我的项目中,我使用Cassandra2.0,有3个数据库服务器 三台服务器中有两台有2 TB的硬盘,最后一台只有200 GB。因此,我希望2台服务器的响应比上一台服务器的负载更高 Cassandra:我使用multil3partitioner对数据进行分区 我的问题是:如何计算每个cassandra实例的初始\u令牌 感谢您的帮助:)如果您使用的是较新版本的Cassandra(2.x),那么您可以配置节点相对于集群中其他节点应持有的令牌数量。不再需要通过初始\u令牌指定令牌范围边界。相反,您可

在我的项目中,我使用Cassandra2.0,有3个数据库服务器

  • 三台服务器中有两台有2 TB的硬盘,最后一台只有200 GB。因此,我希望2台服务器的响应比上一台服务器的负载更高
  • Cassandra:我使用
    multil3partitioner
    对数据进行分区
  • 我的问题是:如何计算每个cassandra实例的
    初始\u令牌


    感谢您的帮助:)

    如果您使用的是较新版本的Cassandra(2.x),那么您可以配置节点相对于集群中其他节点应持有的令牌数量。不再需要通过
    初始\u令牌
    指定令牌范围边界。相反,您可以通过
    num\u tokens
    参数为节点指定一个“权重”。由于较小节点的容量约为较大节点的十分之一,因此相应地调整该节点的权重。默认权重为256。因此,您可以先将较小节点的权重设置为25,然后尝试查看它是否能够正常工作

    如果您使用的是Cassandra(2.x)的最新版本,那么您可以配置节点相对于集群中其他节点应持有的令牌数量。不再需要通过
    初始\u令牌
    指定令牌范围边界。相反,您可以通过
    num\u tokens
    参数为节点指定一个“权重”。由于较小节点的容量约为较大节点的十分之一,因此相应地调整该节点的权重。默认权重为256。因此,您可以先将较小节点的权重设置为25,然后尝试查看它是否能够正常工作

    Murruil3Partitioner:根据MurruilHash散列值在集群中均匀分布数据

    Murruil3Partitioner使用从-263到+263-1的最大可能散列值范围。以下是计算令牌的公式:

    python-c'print[str((264/令牌数量)*i)-263)表示范围内的i(令牌数量)]

    例如,要为10个节点生成令牌:


    python-c'print[str((264/10)*i)-263)表示范围(10)]内的i

    Murruil3Partitioner使用从-263到+263-1的最大可能散列值范围。以下是计算令牌的公式:

    python-c'print[str((264/令牌数量)*i)-263)表示范围内的i(令牌数量)]

    例如,要为10个节点生成令牌:


    python-c'print[str((264/10)*i)-263)用于范围(10)内的i'

    谢谢。但是有没有这样的方法来计算初始的_标记:
    python-c'print[str((2**64/数量的_标记)*i)-2**63)表示i在范围内(数量的_标记)]是否符合上述要求?@WilliamTruong我不知道如何将您的要求转化为一般公式。当然,这并不意味着这是不可能的。谢谢。但是有没有这样的方法来计算初始的_标记:
    python-c'print[str((2**64/数量的_标记)*i)-2**63)表示i在范围内(数量的_标记)]是否符合上述要求?@WilliamTruong我不知道如何将您的要求转化为一般公式。当然,这并不意味着这是不可能的。