IDEA上运行Flink任务

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 将最简单的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的类型导入:

在这里插入图片描述

  • 导入成功后的样子:

在这里插入图片描述

在这里插入图片描述

  • 现在的代码已经能运行,但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,希望本文能给您一些参考;

欢迎关注阿里云开发者社区博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...
相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
1月前
|
Java
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
54 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
|
15天前
|
Java Shell Maven
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
54 4
|
13天前
|
消息中间件 监控 Java
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
31 1
|
13天前
|
资源调度 分布式计算 大数据
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
41 0
|
2月前
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
|
2月前
|
SQL Shell API
实时计算 Flink版操作报错合集之任务提交后出现 "cannot run program "/bin/bash": error=1, 不允许操作" ,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
实时计算 Flink版操作报错合集之任务提交后出现 "cannot run program "/bin/bash": error=1, 不允许操作" ,是什么原因
IDEA运行 支付宝案例
该博客文章提供了在IntelliJ IDEA中运行支付宝案例的指南,并分享了项目源码的GitHub地址以及使用说明。
|
2月前
|
监控 Cloud Native 流计算
实时计算 Flink版产品使用问题之如何查看和管理任务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
资源调度 Java Scala
实时计算 Flink版产品使用问题之如何实现ZooKeeper抖动导致任务失败时,能从最近的检查点重新启动任务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
消息中间件 监控 关系型数据库
实时计算 Flink版产品使用问题之运行后,怎么进行监控和报警
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。