我很难理解为什么我的Cassandra节点数据大小不均匀。
我有一个包含三个节点的集群。根据{{1}},每个节点拥有33.33%。磁盘空间使用仍然不均匀。
nodetool ring
只有一个键盘。
Node1: 4.7 GB (DC: logg_2, RAC: RAC1)
Node2: 13.9 GB (DC: logg_2, RAC:RAC2)
Node3: 9.3 GB (DC: logg_2, RAC:RAC1)
并且只有一个名为keyspace_definition: |
CREATE KEYSPACE stresscql_cass_logg WITH replication = { 'class': 'NetworkTopologyStrategy', 'logg_2' : 2, 'logg_1' : 1};
的表。
blogposts
请帮助我理解为什么每个节点都有不均匀的数据大小。
答案 0 :(得分:2)
所有权是节点拥有多少数据。
每个数据中心节点拥有的数据的百分比乘以 复制因子。例如,一个节点可以拥有33%的环,但是 如果复制因子为3,则显示100%。
注意:如果您的集群使用具有不同复制的键空间 策略或复制因素,请在运行时指定键空间 nodetool的状态以获取有意义的所有权信息。
更多信息可以在这里找到: https://docs.datastax.com/en/cassandra/2.1/cassandra/tools/toolsStatus.html#toolsStatus__description
NetworkTopologyStrategy通过沿顺时针方向移动环直到到达另一个机架中的第一个节点,将副本放置在同一数据中心中。
NetworkTopologyStrategy尝试将副本放置在不同的机架上,因为由于电源,散热或网络问题,同一机架(或相似的物理组)中的节点通常同时失败。
因为只有两个机架(RAC1和RAC2),所以将节点1和节点3的副本放置在节点2中,这就是为什么它更大的原因。
https://docs.datastax.com/en/cassandra/3.0/cassandra/architecture/archDataDistributeReplication.html