我们需要减少cassandra集群(2个节点)上的vtoken,以补偿具有不同存储能力的两台机器。复制因子当前为1,因此不会发生数据复制。
我们能不能简单地将vtoken减少到32而不是当前的256并重新启动服务器?如果我们试试这个会怎么样?它会流式传输额外的令牌还是我们会丢失数据?
我们读到关于停用节点将所有数据复制到较大的节点,重新配置它以减少vtoken,在本地删除cassandra数据并使其重新加入集群,只是想知道如果在停用之前尝试减少vtoken会发生什么?
谢谢!
我们需要减少cassandra集群(2个节点)上的vtoken,以补偿具有不同存储能力的两台机器。复制因子当前为1,因此不会发生数据复制。
我们能不能简单地将vtoken减少到32而不是当前的256并重新启动服务器?如果我们试试这个会怎么样?它会流式传输额外的令牌还是我们会丢失数据?
我们读到关于停用节点将所有数据复制到较大的节点,重新配置它以减少vtoken,在本地删除cassandra数据并使其重新加入集群,只是想知道如果在停用之前尝试减少vtoken会发生什么?
谢谢!
1条答案
按热度按时间t98cgbkg1#
你不能用vnodes来平衡。根据统计数据,即使使用32个vnode,您的节点上的数据分布也应该相当均匀。更少的vnode将提供更好的搜索性能。
还要注意cassandra-7032,这应该可以让我们在不牺牲数据分发的情况下使用更低的num_令牌。