IDEA上运行Flink任务
欢迎访问我的GitHub
https://github.com/zq2599/blog_demos
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
IDEA是常用的IDE,我们编写的flink任务代码如果能直接在IDEA运行,会给学习和开发带来很大便利,例如改完代码立即运行不用部署、断点、单步调试等;
环境信息
- 电脑:2019版13寸MacBook Pro,2.3 GHz 四核Intel Core i5,8 GB 2133 MHz LPDDR3
- 操作系统:macOS Catalina 10.15.3
- JDK:1.8.0_211
- Maven:3.6.0
- IDEA:2018.3.5 (Ultimate Edition)
- Flink版本:1.9.2
关于正版IDEA
如何免费使用正版IDEA,可以参考《免费申请和使用IntelliJ IDEA商业版License指南》
开发
- 首先确保您电脑上maven已装好;
- 创建一个flink任务的maven工程,找个干净目录执行以下命令:
mvn \
archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java \
-DarchetypeVersion=1.9.2
- 按提示输入groupId、artifactId、version、package等内容:

4. 现在maven工程已生成,用IDEA导入这个工程,如下图:

5. 以maven的类型导入:

6. 导入成功后的样子:

7. 修改StreamingJob.java,加入功能是监听本地18081端口,得到的字符串做word count操作,完整代码在此下载:https://raw.githubusercontent.com/zq2599/blog_demos/master/files/StreamingJob.java

8. 现在的代码已经能运行,但flink网页却还不能访问,会显示以下错误信息,需要继续做些设置:

9. 下载flink-1.9.2安装包,这里面有flink网页服务用到的一个jar,地址是:https://www-eu.apache.org/dist/flink/flink-1.9.2/flink-1.9.2-bin-scala_2.11.tgz
10. flink-1.9.2-bin-scala_2.11.tgz下载后解压,在lib目录下有个flink-dist_2.11-1.9.2.jar文件,记住此文件的位置,稍后会用到;
11. 回到IDEA,在项目上点击右键,点击菜单Open Module Settings:

12. 在弹出的窗口做如下操作,目的是给项目中增加jar:

13. 弹出选择文件的窗口,请选择刚才准备好的文件flink-dist_2.11-1.9.2.jar:

14. 设置工作已经完成,由于StreamingJob的工作是读取本机18081端口的数据,所以我们要把18081端口的服务启动起来,不然StreamingJob运行时是连不上端口的,打开一个控制台,执行命令:nc -l 18081
15. 现在可以将StreamingJob运行起来,如下图,右键点击StreamingJob,选择Run 'StreamingJob.main()':即可启动flink任务,如果想打断点调试,请选择Debug 'StreamingJob.main()'

16. 回到刚才执行nc命令的控制台,输入一些字符串,例如"aaa bbb aaa",然后回车;
17. 再回到IDEA,可见StreamingJob已经从18081端口读到了数据并且输出了统计结果:

18. 在IDEA的控制台搜索关键字localhost,如下图红框,可以查到flink网页的端口,我这里是62641:

19. 浏览器访问http://localhost:62641,如下图,可见flink网页已经正常显示,正在运行的任务也能看到:

至此,最简单的IDEA运行flink任务的实战就完成了,如果您也在学习flink,希望本文能给您一些参考;
欢迎关注公众号:程序员欣宸
微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos
IDEA上运行Flink任务的更多相关文章
- yarn上运行flink环境搭建
主要完成hadoop集群搭建和yarn上运行flink 1.搭建hadoop伪集群 主要是搭建hadoop MapReduce(yarn)和HDFS 1.1 下载&配置环境变量 这里下载的ha ...
- 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门
准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...
- flink idea 打包jar 并放到集群上运行
flink idea 打包jar 并放到集群上运行 在开始之前注意前提,当前项目的scala的版本要和集群上的scala一致 我已经创建好一个wordCount的flink项目 注意项目的po ...
- windows平台上运行Flink_转载于CSDN
Flink安装部署-window 本地部署原创冰上浮云 发布于2019-08-17 15:56:06 阅读数 633 收藏分类专栏: flink版权声明:本文为博主原创文章,遵循 CC 4.0 BY- ...
- 在传统.NET Framework 上运行ASP.NET Core项目
新的项目我们想用ASP.NET Core来开发,但是苦于我们历史的遗产很多,比如<使用 JavaScriptService 在.NET Core 里实现DES加密算法>,我们要估计等到.N ...
- Hyper-V上运行的Linux虚拟机验证是否安装了集成服务
Hyper-V上运行的Linux虚拟机验证是否安装了集成服务 ps aux|grep "hv"root 311 0.0 0.0 0 0 ? ...
- 通过Mono 在 Heroku 上运行 .NET 应用
英文原文:Running .NET on Heroku 中文原文:在 Heroku 上运行 .NET 应用 自从加入了Heroku之后,我就想在这个平台上运行.NET程序.现在我很高兴向大家宣布,我们 ...
- Linux上运行NET
今天尝试了下Ubuntu上运行NET程序,按照 https://github.com/aspnet/Home 的指引,一步一步来: 1.安装DNVM(原名KVM) Linux控制台下输入 curl - ...
- Mono 4.0 Mac上运行asp.net mvc 5.2.3
Mono 4.0 已经发布,二进制包已经准备好,具体的发布说明参见:http://www.mono-project.com/docs/about-mono/releases/4.0.0/. 今天在Ma ...
随机推荐
- MiniJpegDecoder使用介绍
承接昨天写的<JPEG软解码实现介绍>,今天介绍其使用方法和一些细节说明. 1.仓库下已经包含了几个jpeg文件,以方便直接校验. 2.使用命令分为两种模式. 一种是直接解码为yuv文件, ...
- 《Mybatis进阶》肝了30天专栏文章,整理成册,免费获取!!!
持续原创输出,点击上方蓝字关注我吧 目录 前言 简介 如何获取? 总结 前言 Mybatis专栏文章写到至今已经有一个月了,从基础到源码详细的介绍了每个知识点,没什么多余的废话,全是工作.面试中常用到 ...
- [安洵杯 2019]iamthinking&&thinkphp6.0反序列化漏洞
[安洵杯 2019]iamthinking&&thinkphp6.0反序列化漏洞 刚开始是403,扫描以下目录,扫描到三个目录. [18:06:19] 200 - 1KB - /REA ...
- 重启springboot
前言:springboot项目开发时,会遇到项目重新启动的情况.在百度上资料比较零碎需要整理,实践时需要踩坑,自己在项目中已经实现的功能拿出来与大家分享.希望每一位coder能在编程的路上少走一些弯路 ...
- selenium学习之元素等待(四)
--为什么要设置元素等待: 目前大多数web应用程序都是使用AJAX和JavaScript开发,每次加载一个网页,包括静态网页和动态网页,也就是加载各种HTML标签和JS文件.在网页中进行元素定位时, ...
- CString类常用方法----Left(),Mid(),Right()
参考:https://blog.csdn.net/Qingqinglanghua/article/details/4992624 CString Left( int nCount ) const; ...
- matlab中imread 从图形文件读取图像
来源:https://ww2.mathworks.cn/help/matlab/ref/imread.html?searchHighlight=imread&s_tid=doc_srchtit ...
- 使用 PL/SQL Developer 导入 .sql 文件
操作系统:Windows 10 x64 PL/SQL Developer Version 12.0.7.1837 (64 bit) 01.226959 第一节:下载 Oracle Database X ...
- Angular8 ie兼容性解决
启用腻子脚本 polyfills.ts /* IE9, IE10 and IE11 requires all of the following polyfills. */ import 'core-j ...
- 文件上传-阿里云OSS-存储文件
JS上传文件到阿里云OSS OSS支持流式写入和读出.特别适合视频等大文件的边写边读业务场景. 注意在OSS的控制台:跨域管理中设置允许的方法 <script> var client = ...