问题描述
flink官方希望你将所有的依赖和业务逻辑打成一个fat jar,这样方便提交,因为flink认为你应该对自己的业务逻辑做好单元测试,而不应该把这部分测试工作频繁提交到集群去做,但是事实是我们不想打一个fat包,我们希望将业务独立出来,依赖动态提交,而且fat包占空间大,上传集群费时,不方便迭代
解决方案
思路:程序在打包的时候,不打超级包,在提交节点提前上传好需要的依赖,然后在提交节点利用打包工具重新将需要的依赖和工程jar打包成一个新的jar,然后用新的jar再去提交任务
实现
这里打包工具,调研过几种打包方式之后,选择了Ant,作为我们的打包工具,只需在提交节点的个人账号下,安装配置Ant就可以
1.Ant安装
(1).Ant 现在地址为http://ant.apache.org/bindownload.cgi ,我选择的是http://mirrors.estointernet.in/apache//ant/binaries/apache-ant-1.9.14-bin.tar.gz ,这里可以根据自己机器进行选择
(2).添加如下两行到当前用户目录下的/etc/profile里面
export ANT_HOME=/pot/apache-ant-1.10.2 #ANT_HOME为ant文件存放目录位置
export PATH= J