当前位置: 首页 > news >正文

启动Flink显示初始化状态怎么解决?

启动Flink显示初始化状态怎么解决?

Flink On Yarn模式

问题

      flnk任务在跑的过程中, 有时候任务停掉了 ,不过我有 定时任务,可以把失败的flink任务拉起来,但是因为最新的checkpoint做失败了,导致脚本无法拉起flink任务,任务会一直处于初始化状态,这样是有问题的  因为我无法识别到最后一个checkpoint是成功的还是失败的

在这里插入图片描述

思路

通过flink rest api可以判断出来这个初始化的状态,然后删除失败的checkpoint  

具体实现思路

具体的解决步骤(脚本实现):
1.通过任务名称获取appid;
2.curl http://${yarnaddr}/proxy/${appid}/jobs/overview 获取job的状态;
3.如果是初始化状态,就删除当前的chk(其实就是最新的chk,也是有问题的);,然后调用启动脚本;
4.这个脚本就相当于一个巡检程序,定时去扫描一下 , 如果有初始化,就处理一下, 如果没有的话,忽略即可;

脚本如下

flinkInitDeal.sh

#!/bin/bashsource ~/.bash_profileyarnaddr=172.2.3.8:8088applicationname=`yarn application --list | grep "flink-etl" | cut -f1 `
let i=0  #获取任务数
let log_count=0  #获取日志中的任务数
start_count=RUNNING  #判断任务是否存在异常cd /test/flinkcurl http://${yarnaddr}/proxy/${applicationname}/jobs/overview  > flink_job.logjobstatus=`cat /test/flink/flink_job.log | awk -F\" '{print $14}'`if [[  ${jobstatus} = 'INITIALIZING' ]]
thenpath=$(hadoop fs -ls -t -r /flink/checkpoints/* | sort -nr | grep 'chk' | head -n 1 | awk '{print $NF}')hadoop dfs -rmr  ${path}cd /home/hadoop/flink-1.14/app
sh stop.shsleep 10sh start.sh
http://www.lryc.cn/news/111101.html

相关文章:

  • VB+SQL采购管理系统设计与实现
  • TBB库中实现协程(coroutine)的源码说明
  • 【CSS弹性盒模型 display:flex;常用参数及常见的布局】
  • golang函数传参——值传递理解
  • Liunx环境下git的详细使用(gitee版)
  • exoplayer的使用-2,与flutter相互通信
  • 【基础类】—类型转换
  • 【云原生】 一文了解docker中的网络
  • 嵌入式开发学习(STC51-15-红外遥控)
  • 代码编辑器实践之vue-codemirror使用
  • Mapstruct
  • 初阶C语言——特别详细地介绍函数
  • pulsar-client-1-2 PulsarClient构造函数
  • 原型链污染是什么
  • java之石头迷阵单击游戏、继承、接口、窗体、事件、组件、按钮、图片
  • Debian 系列 Linux 的静态 DNS 、gateway 、IP 设置和网络重启
  • IP路由基础+OSPF 基础
  • window远程连接Linux
  • MyBatis 查询数据库之二(增、删、改、查操作)
  • unraid docker桥接模式打不开页面,主机模式正常
  • 第七章:进程间通信(IPC)——构成进程间通信的信道方案
  • 部分常用CSS样式
  • 思科单臂路由、lacp链路聚合、NAT实验
  • 【力扣每日一题】2023.8.5 合并两个有序链表
  • QT 驱动条码打印机(没有验证过)
  • Kafka介绍
  • Django使用uwsgi+nginx部署,admin没有样式解决办法
  • 穷举深搜暴搜回溯剪枝(3)
  • Bash 脚本的参数等
  • 从哪些方面学HTML技术? - 易智编译EaseEditing