IDEA上运行Flink任务

举报
程序员欣宸 发表于 2022/12/10 23:41:54 2022/12/10
【摘要】 将最简单的flink任务在IDEA上开发和运行,为后面的深入学习和实践打好基础

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

  • IDEA是常用的IDE,我们编写的flink任务代码如果能直接在IDEA运行,会给学习和开发带来很大便利,例如改完代码立即运行不用部署、断点、单步调试等;

环境信息

  1. 电脑:2019版13寸MacBook Pro,2.3 GHz 四核Intel Core i5,8 GB 2133 MHz LPDDR3
  2. 操作系统:macOS Catalina 10.15.3
  3. JDK:1.8.0_211
  4. Maven:3.6.0
  5. IDEA:2018.3.5 (Ultimate Edition)
  6. Flink版本:1.9.2

关于正版IDEA

开发

  • 首先确保您电脑上maven已装好;
  • 创建一个flink任务的maven工程,找个干净目录执行以下命令:
mvn \
archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java \
-DarchetypeVersion=1.9.2
  • 按提示输入groupId、artifactId、version、package等内容:
    在这里插入图片描述
  • 现在maven工程已生成,用IDEA导入这个工程,如下图:
    在这里插入图片描述
  • 以maven的类型导入:
    在这里插入图片描述
  • 导入成功后的样子:
    在这里插入图片描述
  • 修改StreamingJob.java,加入功能是监听本地18081端口,得到的字符串做word count操作,完整代码在此下载:https://raw.githubusercontent.com/zq2599/blog_demos/master/files/StreamingJob.java
    在这里插入图片描述
  • 现在的代码已经能运行,但flink网页却还不能访问,会显示以下错误信息,需要继续做些设置:
    在这里插入图片描述
  • 下载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
  • flink-1.9.2-bin-scala_2.11.tgz下载后解压,在lib目录下有个flink-dist_2.11-1.9.2.jar文件,记住此文件的位置,稍后会用到;
  • 回到IDEA,在项目上点击右键,点击菜单Open Module Settings
    在这里插入图片描述
  • 在弹出的窗口做如下操作,目的是给项目中增加jar:
    在这里插入图片描述
  • 弹出选择文件的窗口,请选择刚才准备好的文件flink-dist_2.11-1.9.2.jar
    在这里插入图片描述
  • 设置工作已经完成,由于StreamingJob的工作是读取本机18081端口的数据,所以我们要把18081端口的服务启动起来,不然StreamingJob运行时是连不上端口的,打开一个控制台,执行命令:nc -l 18081
  • 现在可以将StreamingJob运行起来,如下图,右键点击StreamingJob,选择Run ‘StreamingJob.main()’:即可启动flink任务,如果想打断点调试,请选择Debug ‘StreamingJob.main()’
    在这里插入图片描述
  • 回到刚才执行nc命令的控制台,输入一些字符串,例如"aaa bbb aaa",然后回车;
  • 再回到IDEA,可见StreamingJob已经从18081端口读到了数据并且输出了统计结果:
    在这里插入图片描述
  • 在IDEA的控制台搜索关键字localhost,如下图红框,可以查到flink网页的端口,我这里是62641
    在这里插入图片描述
  • 浏览器访问http://localhost:62641,如下图,可见flink网页已经正常显示,正在运行的任务也能看到:
    在这里插入图片描述
  • 至此,最简单的IDEA运行flink任务的实战就完成了,如果您也在学习flink,希望本文能给您一些参考;

欢迎关注华为云博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴…

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。