我有一个3节点的单数据中心Cassandra集群,包含节点 A (10.0.0.1), B (10.0.0.2)和 C (10.0.0.3)。重要配置包括:
运行 nodetool status 会产生以下输出:
Datacenter: dc1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 10.0.0.1 177.41 MiB 256 100.0% 0a8da3f3-73d0-4d2f-bf97-e002d91a444f rack1
UN 10.0.0.2 144.34 MiB 256 100.0% 5d8ca11f-a1c2-4381-aeeb-ed824ceafc96 rack1
UN 10.0.0.3 44.36 MiB 256 100.0% b20a490e-b54d-4c65-800c-56d98f5a86dd rack1
表示负载突然无法正常工作。此外, nodetool describecluster 表示架构不一致。
Cluster Information:
Name: Test Cluster
Snitch: org.apache.cassandra.locator.DynamicEndpointSnitch
Partitioner: org.apache.cassandra.dht.Murmur3Partitioner
Schema versions:
a4dade6e-d3a1-3168-8ea0-b7ffb11bc742: [10.0.0.1]
f2dcee06-79c5-3855-9305-ce8ad2ee7fe4: [10.0.0.2, 10.0.0.3]
nodetool resetlocalschema 无法解决架构分歧,即使在 B (10.0。 0.2)和 C (10.0.0.3)。
在正常关闭所有三个节点并重复编辑1 中描述的过程后,解决了架构不一致问题。
Cluster Information:
Name: Test Cluster
Snitch: org.apache.cassandra.locator.DynamicEndpointSnitch
Partitioner: org.apache.cassandra.dht.Murmur3Partitioner
Schema versions:
f2dcee06-79c5-3855-9305-ce8ad2ee7fe4: [10.0.0.1, 10.0.0.2, 10.0.0.3]
负载平衡问题仍然存在。