【发布时间】:2019-04-28 22:13:01
【问题描述】:
我们有一个 cassandra 集群,在同一数据中心中有 2 个节点,键空间“newts”的键空间复制因子为 2。如果我运行 nodetool status 我可以看到两个节点之间的负载有些相同,并且每个节点共享 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状态newts输出:
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
【问题讨论】:
-
哪个版本的 cassandra? “nodetool status newts”的输出是什么?添加节点后是否运行“nodetool cleanup”?
-
所有新节点都运行后,在每个先前存在的节点上运行 nodetool cleanup 以删除不再属于这些节点的密钥。在一个节点上等待清理完成,然后在下一个节点上运行 nodetool cleanup。
-
卡桑德拉 3.11.3,cqlsh 5.0.1。 Nodetool 状态 newts 输出在 OP 中更新。我没有运行 nodetool cleanup,我认为只有在删除节点时才需要?
-
@Rocherlee 我在之前的两个现有节点上运行了 nodetool cleanup,每个节点上的命令在 10 秒内完成,并且 nodetool 状态的输出没有改变。
标签: cassandra