黑名单多台服务器后tablet-leader负载均衡陷入停滞问题
YugabyteDB负载均衡器因黑名单与集群扩容操作陷入停滞的问题
问题复现步骤
- 启动包含6台TServer的集群,初始化部分数据/tablet
- 将其中3台TServer加入Leader黑名单
- 在负载均衡器仍在迁移黑名单TServer上的Tablet Leader时,启动并加入一台全新的TServer
异常表现
- 负载均衡器突然停止迁移黑名单节点上的Leader,很快执行
yb-admin get_is_load_balancer_idle返回Idle = 1 - 访问集群Master节点的
:7000/tablet-servers页面,仍能看到黑名单节点上存在剩余的Tablet Leader - 执行
yb-admin get_leader_blacklist_completion始终无法完成,重启YB-Master也无法解决该问题
环境配置信息
- YugabyteDB版本:2.25.1.0-b381
- 副本因子(RF):3
- YB-Master仅对官方Kubernetes StatefulSet配置做了如下修改:
- "/home/yugabyte/bin/yb-master" - "--fs_data_dirs=/mnt/data0" - "--rpc_bind_addresses=$(POD_NAME).yb-masters.$(NAMESPACE).svc.cluster.local:7100" - "--server_broadcast_addresses=$(POD_NAME).yb-masters.$(NAMESPACE).svc.cluster.local:7100" - "--use_private_ip=never" - "--master_addresses=$(YB_MASTER_ADDRS)" - "--enable_ysql=true" - "--replication_factor=3" - "--logtostderr" - "--webserver_interface=0.0.0.0" - "--load_balancer_max_concurrent_moves=10" # default 2 - "--load_balancer_max_concurrent_moves_per_table=2" # default 1 - "--load_balancer_max_over_replicated_tablets=10" # default 1 - "--load_balancer_max_concurrent_removals=10" # default 1 - "--load_balancer_max_concurrent_adds=10" # default 1 - "--load_balancer_max_inbound_remote_bootstraps_per_tserver=2" # default 4 - "--load_balancer_max_concurrent_tablet_remote_bootstraps_per_table=1" # default 2
额外复现验证
已多次复现该问题:全新集群先启动3台TServer,扩容至6台,添加数据后等待负载均衡器闲置,再将3台TServer加入Leader黑名单,在Tablet Leader迁移过程中部署一台新TServer。当前所有持有停滞Tablet副本的TServer均在Leader黑名单中,但集群中有3台及以上非黑名单TServer可用,理论上完全可以将Leader迁移至这些节点(附示例截图,显示集群已负载均衡但重平衡停滞)。临时解除其中一台黑名单TServer的限制后,重平衡操作恢复正常。
疑问
是否有其他用户遇到过该问题?
内容的提问来源于stack exchange,提问作者dh YB
相关产品推荐
相关产品推荐

