[HCS] DWS集群下发失败:RdsActiveClusterTask、active cluster failed when
[问题现象] 集群下发失败
[问题版本] 821
[排查步骤]
1、连表查询失败任务阶段、失败jobid、以及执行业务容器
2、查看执行业务容器日志
3、连接dws表rms查看实例是否被监控
select id,name,type from rds_instance where name like "%集群名称%"; 查询发现type为NULL,表示monitor未监控实例,或moitor状态未发送给controller
4、登录monitor数据库,查看实例是否存在
select id,instance_name,instance_type, STATUS from instance_monitor where instance_name like "%集群名称%"; 查询是否包含此实例,如果不包含则查看controller定时任务qrtz_triggers表中registerMoniter是否有问题,判断定时任务触发时间是否为过去时间;也有可能是controller的op_svc账号或cdk参数access.dns.username,access.dns.pwd,access.dns.domainName,region获取token报401错误;
如下图查询发现实例存在且instance_type为NULL表示agent未上报状态,可能是manageIp的12017或2000端口不通;或者monitor_info表中存在不正常的monitor实例记录;
5、检查manageIp的12017或2000端口是否不通
排查没有问题
6、查询monitor_info表的记录,查看处于normal状态的monitor实例个数与管控面是否一致
selec * from monitor_info where status <> 'empty'; 查询发现与monitor两个实例数量相比多了很多不存在的实例记录
7、查询定时任务表qrtz_triggers的触发时间是否为过去时间
select PREV_FIRE_TIME, FROM_UNIXTIME(NEXT_FIRE_TIME / 1000),TRIGGER_STATE from qrtz_triggers where TRIGGER_NAME = 'hamonitor_hamonitor_cluster'; 查询发现时间为过去时间,导致定时任务时效,无法清理不存在的monitor实例,需要修改触发时间启动任务清理不存在的记录。
8、更新下次触发定时任务时间
UPDATE qrtz_triggers SET NEXT_FIRE_TIME="1700034136000", TRIGGER_STATE = 'WAITING' WHERE TRIGGER_NAME = 'hamonitor_hamonitor_cluster'; 注意时间修改为当前数据库时间往后一到两分钟,等时间到就会触发定时任务。
修改好后可以重新查询是否修改过来
9、等定时任务时间到后,查询monitor实例数量是否恢复正常数量
检查发现与管控面CDK节点查询的monitor实例数量一致
10、重试下发集群成功
- 点赞
- 收藏
- 关注作者
评论(0)