搭建flink任务管理ververica平台踩坑记录

坑点描述

ververica平台是Ververica公司的针对flink商业产品。个人出于实践探索的目的,切实调研了一下该平台的功能。因为公司服务都部署在k8s环境中,所以搭建该平台使用了容器镜像的方式。过程中发现,这玩意上手是真不容易,坑比预想的多多了。坑点如下:

flink版本使用内部镜像而非基于alibaba开源镜像

为什么商业公司都这么热衷使用内部镜像,个人一直搞不懂。看到这个就不放心以后服务跑着跑着就宕机了,网上还查不到相关资料。所以果断选择使用自己的镜像,手动修改yaml配置走起(可以手动修改配置还是比较人性化)。
在这里插入图片描述

合并自定义镜像与平台提供镜像差异

镜像的环境差异真不小,从java版本、全局变量、配置文件路径这些都不太一样了。好在这些静态的配置差异都很容易被发现,麻烦的是运行时的不一致,比如下面这个脚本因为参数顺序不同导致log_setting的日志参数与FLINk_ENV_JAVA_OPTS的日志参数互相覆盖(后者覆盖前者),进而导致运行自定义镜像上来就一个错: 日志文件File Not Found。。。

自定义镜像配置, 使用默认日志文件路径

在这里插入图片描述

官方镜像配置,覆盖默认日志文件配置,使用自定义日志文件路径

在这里插入图片描述
这里debug耗时半天。。
此外,flink配置文件flink-conf.yaml和运行依赖jar包,vvp会挂载到/flink/conf 和 /flink/usrlib路径下。这里咱们直接删掉自己镜像里的conf和usrlib目录,通过软连接的方式使用vvp的配置就行。

Deployment固定使用Application模式部署,无法指定其他部署模式

问题发生是在基本解决完环境问题后,心里乐呵呵的觉得这下应该没啥问题了吧,上传jar包搞定,配置参数ok,点击部署,去喝口水等等应该就完事了。3分钟后。。任务没起来,怎么没起来呢?满脑子装着不相信,然后进入了日志页面,一个神奇的错误发生了,‘The application contains no execute() calls’ 。
对着这个错误,我愣了几秒,然后又苦思了几分钟,果然一点没有想法。无奈向度娘求救,但没有搜到任何关键信息。再次无奈向大佬求救,大佬反问vvp是啥玩意?哎,就在低头叹气之时,忽然想起还有最终杀器:github。于是乎我在github上搜索并进入了flink官方开源库,从关键代码一行行看、一层层捋,起初忽见似有眉目,但转眼又被各种工厂模式、访问者模式等弄得思路模糊。功夫不怕有心人,代码还怕真码农,经过一段时间的琢磨,发现了问题所在。
原来它xx的使用的是Application模式部署任务,而不是perJob。为什么部署的时候没有任何地方提示当前任务的部署模式?如果想自定义部署方式的话又在哪里修改?了解到问题所在,后面就是一顿大改了。此处省略1万个字。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

baidu_26507163

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值