IDEA上运行Flink任务的实战教程

 更新时间:2020年10月28日 08:30:05   作者:zq2599  
这篇文章主要介绍了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指南》

开发

  1. 首先确保您电脑上maven已装好;
  2. 创建一个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,希望本文能给您一些参考;

https://github.com/zq2599/blog_demos

到此这篇关于IDEA上运行Flink任务的文章就介绍到这了,更多相关IDEA上运行Flink任务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JAVA多线程处理for循环数据详细讲解

    JAVA多线程处理for循环数据详细讲解

    这篇文章主要给大家介绍了关于JAVA多线程处理for循环数据的相关资料,我们在代码中经常需要使用for循环这个操作来达到目的,而当for循环的次数过多时我们会发现执行效率会变的很低,整体耗时非常多,需要的朋友可以参考下
    2023-07-07
  • springboot如何关掉tomcat容器

    springboot如何关掉tomcat容器

    这篇文章主要介绍了springboot如何关掉tomcat容器,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Activiti开发环境的搭建过程详解

    Activiti开发环境的搭建过程详解

    这篇文章主要介绍了Activiti开发环境的搭建过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Java的并发编程之CyclicBarrier解析

    Java的并发编程之CyclicBarrier解析

    这篇文章主要介绍了Java的并发编程之CyclicBarrier解析,CyclicBarrier支持一个可选的Runnable命令,在一组线程中的最后一个线程到达之后(但在释放所有线程之前),该命令只在每个屏障点运行一次,需要的朋友可以参考下
    2023-11-11
  • Java开发中可以防止界面假死的刷新代码

    Java开发中可以防止界面假死的刷新代码

    今天小编就为大家分享一篇关于Java开发中可以防止界面假死的刷新代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Java 全面系统介绍反射的运用

    Java 全面系统介绍反射的运用

    准备入手学习java的安全了,感觉这也是一个大的趋势,想着尽早进入到java安全的探索中,在反序列化链的学习之前,需要先学习反射,不多说了,开干吧
    2022-03-03
  • BeanFactory和FactoryBean的区别示例详解

    BeanFactory和FactoryBean的区别示例详解

    这篇文章主要为大家介绍了BeanFactory和FactoryBean的区别示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Java中excel表数据的批量导入方法

    Java中excel表数据的批量导入方法

    这篇文章主要为大家详细介绍了Java中excel表数据的批量导入方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • MyBatis动态sql查询及多参数查询方式

    MyBatis动态sql查询及多参数查询方式

    这篇文章主要介绍了MyBatis动态sql查询及多参数查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Java中使用JDBC操作数据库简单实例

    Java中使用JDBC操作数据库简单实例

    这篇文章主要介绍了Java中使用JDBC操作数据库简单实例,本文以Mysql为例介绍使用Java JDBC操作数据库的6个步骤,需要的朋友可以参考下
    2015-06-06

最新评论