故障现象场景描述
flink 任务的算子任务停止或者整个任务被中断,此时监控数据会有断点或者中断的现象,kafka 对应的 topic 消费组会有数据消费堆积(Barad_Comm)。
故障影响范围
监控数据查询不到,云产品侧告警无法正常触发。
对平台其余云产品业务无影响。
故障定位分析
进到支撑yarn部署节点上,检查对应的yarn 集群以及flink 任务是否正常运行。
以下为常用的操作指令:
##yarn资源展示
yarn top
##yarn实例展示
yarn application --list
yarn application -list -appStates ALL
##yarn任务运行详情
yarn application -status <application ID>
##yarn rm状态
yarn rmadmin -getAllServiceState
##yarn node展示
yarn node -list
场景 1:如基础的 yarn 集群环境异常,需联系支撑队列同学处理。
场景 2:df -h 检查 yarn 集群的磁盘使用率,yarn 机器服务磁盘使用率超过 80% 后会启动清理集群内服务(因机器与 hdfs 混部,有 tdsql 的冷备数据再 hdfs 上,有类似问题可少量清理对应的冷备文件再拉起监控 flink 任务,同时联系支撑 tdsql 队列同学处理冷备文件的保存时间)。
场景 3:集群正常,因监控组件连接导致的 flink 任务停止,可根据应急步骤处理,重新拉起任务即可。
故障应急处置步骤
flink重新拉起步骤:
重启oceanus-ctcw1容器(防止组件连接异常):
tcloud-oceanus-ctcw1 kubectl get po -A |grep tcloud-oceanus-ctcw1 | awk '{print $2}' | xargs kubectl delete po -n tce检查 job 任务状态(5代表停止任务,3代表启动中,4代表正常运行):
mysql22001 select Status from online_galileo.Job;如果是4,需要先执行 stop-job.sh,待数据库Status字段为5了再执行 run-job.sh。
如果是5,则执行 run-job.sh。进入tcloud-barad-skywalker容器里:
cd /usr/local/services/barad-skywalker/job/停止 flink 任务:
bash stop-job.sh启动 filnk 任务:
bash run-job.sh
故障恢复验证
检查 job 任务状态(5代表停止任务,3代表启动中,4代表正常运行):
mysql22001
select Status from online_galileo.Job;
等 2-3 分钟后,检查租户端 cvm 的监控指标是否恢复正常。