Cassandra显示错误的加载

时间:2017-12-13 11:01:24

标签: cassandra

docker exec -it cass-node-1 nodetool status casscluster01

在输出中,第二个节点Owns显示66.1%,Load size为834.12GB,而第三个节点的负载大小(801.56GB)低于node2,但Owns百分比很高。

这是否意味着,输出不准确。

2 个答案:

答案 0 :(得分:1)

可能有些负载是节点不再负责的数据。例如,如果您首先有一个节点并加载100gb。然后将RF更改为2并添加第二个节点。即使在流式传输之后,第一个节点仍然具有数据,但它不拥有该数据。您可以使用nodetool cleanup删除此数据。

或者可能是某个节点已关闭了一段时间而且您还没有进行修复。

编辑:正如Alex所说,你也有可能拥有大型分区,然后数据也不会被分发。

答案 1 :(得分:1)

百分比不会与您在磁盘上存储的实际数据匹配。请注意,标题为Owns (effective)。该列指示节点负责的可用令牌范围的百分比。由于每个节点负责大约三分之二,我猜你已经指定了一个复制因子为2。

虽然Cassandra的Murmur3哈希在均匀分布数据方面做得很好,但是大型分区可以在少量节点上加载更多负载(正如Alex指出的那样)。