写点什么

《从 0 到 1 学习 Flink》—— Flink 项目如何运行?

用户头像
zhisheng
关注
发布于: 2020 年 05 月 22 日
《从0到1学习Flink》—— Flink 项目如何运行?



前言



之前写了不少 Flink 文章了,也有不少 demo,但是文章写的时候都是在本地直接运行 Main 类的 main 方法,其实 Flink 是支持在 UI 上上传 Flink Job 的 jar 包,然后运行得。最开始在第一篇 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门 中其实提到过了 Flink 自带的 UI 界面,今天我们就来看看如何将我们的项目打包在这里发布运行。



准备



编译打包



项目代码就拿我之前的文章 《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch 吧,代码地址是在 GitHub 仓库地址:https://github.com/zhisheng17/flink-learning/tree/master/flink-learning-connectors/flink-learning-connectors-es6 ,如果感兴趣的可以直接拿来打包试试水。



我们在整个项目 (flink-learning)pom.xml 所在文件夹执行以下命令打包:



mvn clean install





然后你会发现在 flink-learning-connectors-es6 的 target 目录下有 flink-learning-connectors-es6-1.0-SNAPSHOT.jar 。



启动 ES



注意你的 Kafka 数据源和 ES 都已经启动好了, 清空了下 ES 目录下的 data 数据,为了就是查看是不是真的有数据存入进来了。





提交 jar 包



将此文件提交到 Flinkserver 上,如下图:





点击下图红框中的"Upload"按钮:





如下图,选中刚刚上传的文件,填写类名,再点击"Submit"按钮即可启动 Job:





查看运行结果



如下图,在 Overview 页面可见正在运行的任务:





你可以看到 Task Manager 中关于任务的 metric 数据

、日志信息以及 Stdout 信息。





查看 Kibana ,此时 ES 中已经有数据了:





我们可以在 flink ui 界面上的 overview cancel 这个 job,那么可以看到 job 的日志:







总结



本篇文章写了下如何将我们的 job 编译打包并提交到 Flink 自带到 Server UI 上面去运行,也算是对前面文章的一个补充,当然了,Flink job 不仅支持这种模式的运行,它还可以运行在 K8s,Mesos,等上面,等以后我接触到再写写。



关注我



本文原创地址是: http://www.54tianzhisheng.cn/2019/01/05/Flink-run/ , 未经允许禁止转载。



Github 代码仓库



https://github.com/zhisheng17/flink-learning/



以后这个项目的所有代码都将放在这个仓库里,包含了自己学习 flink 的一些 demo 和博客

发布于: 2020 年 05 月 22 日阅读数: 91
用户头像

zhisheng

关注

坑要一个个填,路要一步步走! 2018.05.15 加入

GitChat《Flink 实战与性能优化》专栏作者,公众号(zhisheng) 负责人,http://www.54tianzhisheng.cn/ 博客博主,擅长大数据、Java。

评论

发布
暂无评论
《从0到1学习Flink》—— Flink 项目如何运行?