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冲突,但是我打成一个总的依赖包就不会,这个很奇怪,不知道什么原因???,有大佬可以发表下看法,万分感谢
相关推荐
TDengine (老段)2 小时前
TDengine 物理计划生成 — 算子下沉、Exchange 与 Subplan 切分
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
sunshine8852 小时前
ISO 27001与PCI-DSS认证:财务数据安全如何反哺业财一体化落地?
大数据·人工智能
蚂蚁数据AntData2 小时前
从ChatBI到业务记忆:重新定义数据智能的生产力边界
大数据·网络·数据库·人工智能·算法
Quincy_Freak2 小时前
技术随笔|银河麒麟aarch64内网轻量数据分析工具 SQLiteGo 使用体验
大数据·数据库·数据挖掘·数据分析·sqlite·银河麒麟·aarch64
跨境数据猎手3 小时前
跨境电商独立站0-1搭建全流程
大数据·人工智能
科技侃谈3 小时前
国内下载imToken为什么选择:官方渠道?有什么优势?
大数据·人工智能
zhou lily3 小时前
数据中台的终局思维:如何平衡“数据共享”与“安全合规”
大数据
数据库小学妹3 小时前
时序数据怎么存?InfluxDB、TDengine、TimescaleDB与国产融合方案选型实战
大数据·数据库·经验分享·时序数据库·dba
2601_956139423 小时前
性价比高的VI设计质量
大数据·人工智能·python·物联网