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

26、使用StreamPark管理Flink作业中,关于flink on k8s部分的提交处理

之前使用云上产品(华为云DLI)来管理Flink作业,在使用过程中发现几个痛点:

1.监控指标太少了,
2.作业内部发生异常情况重启,居然不会告警,
3.资源粒度太大了,最小为1CU(1核4g),对于我们大部分都是小规模作业来说,资源浪费严重,ps:2024年国庆后好像上新功能,最小粒度为0.5CU了,
4.flink相关的包出现过仓库没有的情况,是flink-cdc-connector相关的,其它的包依赖也整了好久,虽然之前迁云的时候已经处理好了,但是总归体验不好。

这里吐槽一句,针对flink作业的管理的云产品来说,阿里云,腾讯云甩华为云的产品好几条街😅。
已经整体迁移到华为云了,就没办法再想其它云产品了。就把目标转向了开源产品。

github启动,点开几年前试用过的streampark,当时还是叫streamX来着。
clone项目(2.1.4版本),下载压缩包,测试服务器解压,配置,创建作业,启动~。
这里主要记录一下在streampark上使用flink on k8s遇到的一些问题,有的改了streampark源码,有的改了作业代码。
这里记录一下提交问题的处理:
描述:我用的是华为云的cci集群, 当时将flink作业提交到k8s后,虽然作业的taskmanager启动会很久,但是最终还是启动起来了,但是streampark却把作业识别为启动失败
原因:
在这个类方法中 org.apache.streampark.flink.kubernetes.watcher.FlinkJobStatusWatcher#touchApplicationJob
拿到jobmanager url后会通过flink的restapi去拉取job list,但是这个时候cci上taskmanager还没启动来(太慢了~),就会拿到空的joblist,同样clusterid也是没有的,所以后面走的org.apache.streampark.flink.kubernetes.watcher.FlinkJobStatusWatcher#inferStateFromK8sEvent方法也是拿到不对的状态。
在这里插入图片描述
解决办法:很简单,根据cci上taskmanager启动的时间,给它增加一定的重试次数。重试次数通过配置传入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/457503.html

相关文章:

  • unity学习5:创建一个自己的3D项目
  • 普及组集训数据结构--并查集
  • Flutter-插件 scroll-to-index 实现 listView 滚动到指定索引位置
  • linux-26 文件管理(四)install
  • 解決當前IP地址僅適用於本地網路
  • 超高分辨率 图像 分割处理
  • driftingblues6靶机
  • Oracle数据库高级应用与优化策略
  • 2-194基于matlab的四足机器人行走程序设计
  • [ffmpeg]编译 libx264
  • FFmpeg:详细安装教程与环境配置指南
  • 【Rust自学】7.4. use关键字 Pt.1:use的使用与as关键字
  • 基于Python的企业招聘管理系统
  • UniApp 打开文件工具,获取文件类型,判断文件类型
  • QT中使用OpenGL function
  • uDDS源程序subscriber
  • Web漏洞知识梳理笔记--XSS漏洞原理、类型、危害、利用方式、权限维持、防御措施等
  • 【已解决】“Content-Security-Policy”头缺失
  • C++ 设计模式:建造者模式(Builder Pattern)
  • SpringBoot和SpringCloud对应版本
  • Django Admin 中实现动态表单:无 JavaScript 解决方案
  • 【智能科技与信任网络】2025年区块链、人工智能与计算机技术工程国际会议 (BAICTE 2025)
  • 2-6-1-1 QNX编程入门之进程和线程(三)
  • 【C语言】数组指针与指针数组
  • Formality:匹配(match)是如何进行的?
  • 通过MySQL binlog日志,使用canal同步分库分表数据,到 Elasticsearch