试图找到有关Casandra在添加服务器/节点时如何平衡负载的文章?也就是说,在添加节点之后,cassandra如何将某些分区从现有节点移动到新节点,以及它可以多快地完成?
答案 0 :(得分:3)
将节点添加到现有群集时,cassandra会自动将令牌范围分配给新节点并将相关数据流式传输到新节点。发生这种情况时,nodetool status
会将节点显示为JOINING
。
流完成后,节点是您的一部分,并将处理请求,因为任何其他节点也会减少它们的负载。但是旧节点上的数据大小不会缩小 - 您需要发出nodetool cleanup
来删除现在过时的数据。
要做到这一点有多快,这取决于您必须流式传输的集群负载和数据大小 - 但当然,流式传输受到网络带宽的限制。