2

我正在使用 Cassandra 1.2.11

我使用如下默认配置设置了一个包含 2 个节点的集群:

代币数量:256

endpoint_snitch:SimpleSnitch

初始令牌:

当 2 个节点工作时,我检查 nodetool 状态并发现:

加载拥有 HostID 令牌

56.55 KB 86.8% 2e620ec5-f0cd-4d48-afb4-5738c32e5476 5590003725053436641

42.49 KB 13.2% 704ae042-ce56-4136-99e1-42a5cc12eada 8024527685350563454

为什么一个节点拥有 86.8% 而另一个拥有 13.2%。我预计他们是50-50。你能就这个问题给我建议吗?

谢谢

4

1 回答 1

3

这个问题的一个常见原因是如果您使用 num_tokens=1(或为空,这是 1.2 中的默认值)启动 Cassandra,然后使用 num_tokens=256 重新启动它。

如果您使用此配置启动 Cassandra 一次,即使是很短的时间,那么 Cassandra 将随机选择一个令牌。然后当使用 num_tokens=256 重新启动时,它将拆分范围,但这不会改变分布。

您可以通过查看日志或查看所报告的令牌nodetool ring是否是连续的来确认。

于 2013-10-30T09:34:05.607 回答