flink打包方式问题

问题描述

flink在yarn上跑的时候,经常会遇到是否打 fat jar的问题,也就是打全包问题,很多时候由于生产环境和开发环境不一样,肯定得到线上去测试,这时如果你打fat jar的话,就会很痛苦,因为它至少都有一两百M,而且由于内外网的网速限制问题,上传会很慢,基本上你上传一次要几分钟,我这里两百多兆上传一次要3分钟的样子,每次一点小小的错误,得上传好几遍,一个小时也就测试一两回就没了,真的哭死

这个时候就会想到要只上传源码包,那就是几十K,再慢的网速都是秒上传,接下来我就说下上传源码包的方式

跑源码包的方式

  • 把本地的pom文件放到flink-home目录的,lib目录里,跑一遍mvn package,把包拉下来
  • 通过上传只有依赖包的方式

首先说下第一种方式是有风险的,因为lib目录是针对全局的,如果你几个项目的包会有冲突就会有问题,这块我就踩过坑。所有还是比较推荐第二种方式,但是第二种方式在运行的时候也是坑很多,下面具体说说

通过依赖包的方式

通过依赖包的方式,跑任务的时候也有几种方式

  • 通过-C指定特定依赖包的路径
  • 通过-yt指定
  • 把依赖包放到lib目录下
    这几种方法,第一种和第二种,我弄了好久都没有成功,不是这不行就是那不行,不知道具体是什么原因,感觉还是跟flink加载jar的顺序有关系,最后还是选择把依赖包放在lib目录下的方式成功了
    这里有个小意外,我一开始是通过pom文件的方式拉jar到lib跑的,但是后面就会出现jar冲突,最后我用打依赖包的方式放在lib下,就不会有冲突,也就是说我把jar散着一个个的放在lib里就会有jar冲突,但是我打成一个总的依赖包就不会,这个很奇怪,不知道什么原因???,有大佬可以发表下看法,万分感谢
相关推荐
阿里云大数据AI技术1 天前
StarRocks x Fluss x Paimon湖流一体方案:构建秒级响应、湖流一体的实时数据引擎
大数据·人工智能
Databend1 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
喵个咪1 天前
Go Wind UBA 拆解系列 - 架构总览:三服务、数据流与契约优先
大数据·后端·go
喵个咪1 天前
Go Wind UBA 拆解系列 - 多租户与安全:两套隔离机制的边界
大数据·后端·go
喵个咪1 天前
Go Wind UBA 拆解系列 - OLAP 与 SQL 硬核:25 个分析模型怎么落地
大数据·后端·go
喵个咪1 天前
Go Wind UBA 拆解系列 - SDK 与采集层:从浏览器到 Kafka
大数据·后端·go
一条鱼丶1 天前
深入理解 Flink Watermark——流数据处理中的乱序问题解决方案
flink
QCC产品中心2 天前
MiniMax Agent 接入实测:企业查询、股权穿透与 UBO 识别(附 Prompt 模板)
大数据·mcp·金融/非金融
大大大大晴天2 天前
Flink SQL 从编写到提交运行的全过程解析
flink
SelectDB2 天前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python