我有一个 3 节点 cassandra 集群,复制因子为 2。节点运行 dsc1.2.3 或 dsc1.2.4。每个节点的 num_token 值为 256,并注释了 initial_token。这个 3 节点集群是完美平衡的,即每个节点拥有大约 30% 的数据。
其中一个节点崩溃了,所以我启动了一个新节点,nodetool 删除了已经崩溃的节点。新节点已添加到集群中,但两个较旧的节点现在拥有大部分数据(47.0% 和 52.3%),而新节点只有 0.7% 的数据。
nodetool status 的输出是
Datacenter: xx-xxxx
===================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 10.xxx.xxx.xxx 649.78 MB 256 47.0% ba3534b3-3d9f-4db7-844d-39a8f98618f1 1c
UN 10.xxx.xxx.xxx 643.11 MB 256 52.3% 562f7c3f-986a-4ba6-bfda-22a10e384960 1a
UN 10.xxx.xxx.xxx 6.84 MB 256 0.7% 5ba6aff7-79d2-4d62-b5b0-c5c67f1e1791 1c
我如何平衡这个集群?