第三Cassandra节点具有不同的负载

时间:2018-11-27 08:01:14

标签: cassandra

在同一个数据中心中,我们有一个Cassandra集群,其中有2个节点,键空间“ newts”的键空间复制因子为2。如果我以nodetool身份运行,我可以看到两个节点之间的负载有些相同,每个节点共享100%的负载。

我继续并添加了第三个节点,我可以在nodetool状态输出中看到所有三个节点。我将复制因子增加到三个,因为我现在有三个节点并在第三个节点上运行了“ nodetool repair”。但是,当我现在运行nodetool status时,我可以看到三个节点之间的负载不同,但是每个节点拥有100%的负载。怎么可能,这里有什么我想念的?

nodetool -u cassandra -pw cassandra status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Host ID                               Rack
UN  84.19.159.94  38.6 GiB   256          100.0%            2d597a3e-0120-410a-a7b8-16ccf9498c55  rack1
UN  84.19.159.93  42.51 GiB  256          100.0%            f746d694-c5c2-4f51-aa7f-0b788676e677  rack1
UN  84.19.159.92  5.84 GiB   256          100.0%            8f034b7f-fc2d-4210-927f-991815387078  rack1

nodetool状态更新输出:

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Host ID                               Rack
UN  84.19.159.94  38.85 GiB  256          100.0%            2d597a3e-0120-410a-a7b8-16ccf9498c55  rack1
UN  84.19.159.93  42.75 GiB  256          100.0%            f746d694-c5c2-4f51-aa7f-0b788676e677  rack1
UN  84.19.159.92  6.17 GiB   256          100.0%            8f034b7f-fc2d-4210-927f-991815387078  rack1

2 个答案:

答案 0 :(得分:1)

添加一个节点后,现在有三个节点并将复制因子增加到三个-每个节点将拥有您的数据副本,因此拥有100%的数据。

在两个旧节点上添加第三个节点后,未运行nodetool cleanup可能会导致“ Load”的卷不同-添加该节点时,不会删除sstables中的旧数据(但稍后清理和/或压缩):

  

加载-每90秒更新一次下的文件系统数据量   排除所有内容后的cassandra数据目录   快照子目录。由于包括了所有SSTable数据文件,   任何未清除的数据,例如TTL过期的单元格或   逻辑删除的数据)。

(来自https://docs.datastax.com/en/cassandra/3.0/cassandra/tools/toolsStatus.html

答案 1 :(得分:0)

您只需在所有3个节点上运行nodetool repair,并在现有节点上一个接一个地运行nodetool cleanup,然后似乎又一个接一个地重启节点。