【问题标题】:How can check Cassandra spread data evenly around the cluster如何检查 Cassandra 在集群周围均匀分布数据
【发布时间】:2019-04-02 08:43:32
【问题描述】:

我是 Cassandra 的新手,我创建了一个具有以下规范的集群。

如何确保 Cassandra 在集群中均匀分布数据?

node count: 4
replication_factor: 3

表架构:

CREATE TABLE space.user (
    id uuid PRIMARY KEY,
    firstname text,
    lastname text
) WITH bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
    AND comment = ''
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
    AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND crc_check_chance = 1.0
    AND dclocal_read_repair_chance = 0.1
    AND default_time_to_live = 0
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = '99PERCENTILE';

【问题讨论】:

    标签: cassandra cql cqlsh


    【解决方案1】:

    最简单的方法是使用nodetool status - 你can checkLoad 列中显示了多少 - 这是磁盘上的数据量,但它也可以计算未清理的数据(如果你拓扑是否发生变化,您可能需要运行 nodetool cleanup 来删除该数据)。

    基本上,节点之间不应该有太大的差异,但这取决于您指定为num_tokens 的数字。如果每台服务器有 8 个令牌,那么与平均大小的差异可能是 +-10-12%。对于更多数量的令牌,差异可能会更小。

    但在您的情况下,我认为节点之间的差异不会很大,因为您的行非常小,名字/姓氏应该很大。

    【讨论】:

      猜你喜欢
      • 2011-07-16
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      • 2021-11-02
      相关资源
      最近更新 更多