Flink 任务打包、提交
一、Flink版本 flink-1.6.1-bin-hadoop26-scala_2.11
二、Flink任务打包 笔者将写好的flink计算任务代码发到服务器(ubuntu16.04),在服务器端进行任务的打包
1、将项目工程导入服务器中(mac下)
scp -r flink-project root@服务器ip:/wingcloud4/
2、将flink源码下的tools文件导入到服务器根目录下
读者可以去github自行下载tools文件,在如下位置
【Flink 任务打包、提交】
文章图片
然后先进入flink-master再执行命令将tools导入到服务器根目录,命令如下
scp -r tools root@服务器ip:/
3、在服务器下预先装好maven
因为笔者flink-project这个文件下多个服务,所以笔者需要将flink计算服务打包
4、将flink-project下的flink计算服务进行打包
ps:当然,这里读者按照自己的项目来决定即可
进入后,执行一下打包命令,因为计算服务中有许多测试代码,maven的checkstyle会检查导致失败,所以加上-Dcheckstyle.skip=true可以跳过此类失败,如果有其他服务(例如公共服务被计算服务使用到的话,记得在公共服务目录下进行 mvn clean install打包下)
mvn clean assembly:assembly -Dcheckstyle.skip=true
打包完成后,会出现一个有target的目录,打包的的jar会放在里面,进入target目录会有一个后缀是jar-with-dependencies.jar的包
ubuntu@VM-0-3-ubuntu:~$ cd /wingcloud4/flink-project/analy/target/
ubuntu@VM-0-3-ubuntu:/wingcloud4/flink-project/analy/target$ ls
archive-tmpgenerated-sources
classesmaven-archiver
dependency-reduced-pom.xmlmaven-shared-archive-resources
analy-1.6.1.jaroriginal-analy-1.6.1.jar
analy-1.6.1-jar-with-dependencies.jartest-classes
analy-1.6.1-tests.jar
将analy-1.6.1-jar-with-dependencies.jar 转移到其他目录下
root@VM-0-3-ubuntu:/wingcloud4/flink-project/analy/target# cp analy-1.6.1-jar-with-dependencies.jar /wingcloud4
ok,任务打包完成!
三、Flink任务提交 1、启动flink
https://blog.csdn.net/w_linux/article/details/85036558
2、任务提交
进入flink的bin下,执行如下命令
root@VM-0-3-ubuntu:/usr/local/flink/bin# ./flink run -c com.example.stream.ProcessData /wingcloud4/analy-1.6.1-jar-with-dependencies.jar -input-topic test7 --bootstrap.servers 服务器ip:9092 --zookeeper.connect 服务器ip:2181 --group.id myconsumer1
显示Starting execution of program即任务提交成功
解释下提交任务的命令
com.example.stream.ProcessData:核心计算程序,在com.example.stream包下,类名是ProcessData
/wingcloud4/analy-1.6.1-jar-with-dependencies.jar:之前任务打包的位置以及名称
-input-topic test7 :kafka的topic是test7
--bootstrap.servers 服务器ip:9092 --zookeeper.connect 服务器ip:2181:kafka以及zookeeper的连接配置
3、查看任务
提交任务后,即可去flink的web界面查看提交的任务,如图显示running
文章图片
推荐阅读
- Beego打包部署到Linux
- 多线程NSOperation
- linux定时任务contab
- 242为什么不断切换任务会更容易累()
- IOST任务教程
- 时间管理的任务模型
- 随便写写,完成任务?
- jar|springboot项目打成jar包和war包,并部署(快速打包部署)
- 进阶任务十四
- Android健康管理源代码,基于Android的个人健康管理系统毕业论文+任务书++外文翻译+答辩PPT+演示视频+设计源码...