Cassandra 卡桑德拉代币

Cassandra 卡桑德拉代币,cassandra,token,Cassandra,Token,我用的是卡桑德拉1.2.11 我使用如下默认配置设置了一个由2个节点组成的集群: 令牌数:256 端点_告密者:SimpleSnitch 初始令牌: 当两个节点工作时,我检查nodetool状态并发现: 加载主机ID令牌 56.55 KB 86.8%2e620ec5-f0cd-4d48-afb4-5738c32e5476 559000375053436641 42.49 KB 13.2%704ae042-ce56-4136-99e1-42a5cc12eada 802452768535056345

我用的是卡桑德拉1.2.11

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

令牌数:256

端点_告密者:SimpleSnitch

初始令牌:

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

加载主机ID令牌

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

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

为什么一个节点拥有86.8%,另一个节点拥有13.2%。我想他们各占一半。 你能就这个问题给我一些建议吗


谢谢

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

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


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

实际上,我认为num_tokens=256是默认配置。我需要取消评论这行激活它。我删除所有数据并再次启动2个节点,它们现在相等。非常感谢。