Flink JAR作业快速入门
本文带您快速体验Flink全托管JAR流作业和批作业的部署和启动等操作。
前提条件
已准备阿里云账号及账户余额。
账号注册操作步骤,请参见账号注册。
阿里云账户余额不少于100.00元人民币或等值的代金券或优惠券。
已创建工作空间,详情请参见开通Flink全托管和创建与管理项目空间。
已在本地准备好了测试JAR包和输入数据文件。
步骤一:开发JAR包
Flink全托管控制台不提供JAR包的开发平台,因此您需要在线下完成JAR包的开发。JAR包的开发方法及注意事项等详情请参见JAR作业开发。
本快速入门为了带您快速熟悉Flink流作业和批作业的操作,已为您提供了测试JAR包和输入数据文件,您可以直接单击下载待后续步骤使用。
单击FlinkQuickStart-1.0-SNAPSHOT.jar,下载测试JAR包。
说明本文为您提供的是统计单词出现频率的测试JAR包。如果您有兴趣研究其源代码,请单击FlinkQuickStart.zip下载后进行编译。DataStream API开发的限制说明和开发方法详情请参见JAR作业开发。
单击Shakespeare,下载输入数据文件Shakespeare。
步骤二:上传测试JAR包和数据文件
登录实时计算控制台。
在Flink全托管页签,单击目标工作空间操作列下的控制台。
在左侧导航栏,单击资源管理。
单击上传资源,选择您要上传的JAR包。
本文测试JAR包、输入数据文件和输出数据文件存放路径一致。统一放在OSS控制台,名称为flink-test-oss的Bucket下。上传的文件会固定被保存在oss://flink-test-oss/artifacts/namespaces/flink-test-default目录下。
步骤三:部署JAR作业
流作业
登录实时计算控制台。
在Flink全托管页签,单击目标工作空间操作列下的控制台。
在作业运维页面,单击部署作业。
填写部署信息。
参数
说明
示例
部署作业类型
JAR或者Python。
JAR
部署模式
请选择部署为流模式或批模式。
流模式
部署名称
填写对应的JAR作业名称。
flink-streaming-test-jar
引擎版本
当前作业使用的Flink的引擎版本。引擎版本号含义、版本对应关系和生命周期重要时间点详情请参见引擎版本介绍。
vvr-6.0.7-flink-1.15
JAR URI
单击FlinkQuickStart-1.0-SNAPSHOT.jar下载测试JAR包后,再单击右侧
图标选择文件,上传JAR包。
oss://flink-test-oss/artifacts/namespaces/flink-test-default/FlinkQuickStart-1.0-SNAPSHOT.jar
Entry Point Class
程序的入口类。如果您的JAR包未指定主类,请在此处输入您的Endpoint Class类的标准路径。
说明因为本文提供的测试JAR包中既包含了流作业代码,又包含批作业代码。所以,此处需要指定为流作业的程序入口。
org.example.WordCountStreaming
Entry Point Main Arguments
填写传入参数信息,在主方法里面调用该参数。本文填写输入数据文件的OSS路径。
--input oss://flink-test-oss/artifacts/namespaces/flink-test-default/Shakespeare
附加依赖文件
填写目标附加依赖文件的OSS路径或者URL。
无需填写
提交到Session集群
不推荐生产环境使用。如果您选中了提交到Session集群后,需要在下面的下拉列表中,选择目标Session集群。Session集群创建步骤详情请参见步骤一:创建Session集群。
无需选中
备注
可选,填写备注信息。
无需填写
更多设置
打开该开关后,您需要配置以下信息:
Kerberos集群:单击左侧下拉列表选择您已创建的Kerberos集群,Kerberos集群创建操作详情请参见注册Hive Kerberos集群。
principal:Kerberos principal又称为主体,主体可以是用户或服务,用于在Kerberos加密系统中标记一个唯一的身份。
无需填写
说明参数填写详情请参见部署作业。
单击部署。
批作业
登录实时计算控制台。
在Flink全托管页签,单击目标工作空间操作列下的控制台。
在作业运维页面,单击部署作业。
填写部署信息。
参数
说明
示例
部署作业类型
JAR或者Python。
JAR
部署模式
请选择部署为流模式或批模式。
批模式
部署名称
填写对应的JAR作业名称。
flink-batch-test-jar
引擎版本
当前作业使用的Flink的引擎版本。引擎版本号含义、版本对应关系和生命周期重要时间点详情请参见引擎版本介绍。
vvr-6.0.7-flink-1.15
JAR URI
单击FlinkQuickStart-1.0-SNAPSHOT.jar下载测试JAR包后,再单击右侧
图标选择文件,上传JAR包。
oss://flink-test-oss/artifacts/namespaces/flink-test-default/FlinkQuickStart-1.0-SNAPSHOT.jar
Entry Point Class
程序的入口类。如果您的JAR包未指定主类,请在此处输入您的Endpointt Class类的标准路径。
说明因为本文提供的测试JAR包中既包含了流作业代码,又包含批作业代码。所以,此处需要指定为批作业的程序入口。
org.example.WordCountBatch
Entry Point Main Arguments
填写输入数据文件的OSS路径。
说明输出文件和测试JAR包存放路径一致。在此您仅需要指定结果数据输出文件路径和名称,无需提前在指定目录创建输出文件。
--input oss://flink-test-oss/artifacts/namespaces/flink-test-default/Shakespeare --output oss://flink-test-oss/artifacts/namespaces/flink-test-default/batch-quickstart-test-output.txt
附加依赖文件
填写目标附加依赖文件的OSS路径或者URL。
无需填写
提交到Session集群
不推荐生产环境使用。如果您选中了提交到Session集群后,需要在下面的下拉列表中,选择目标Session集群。Session集群创建步骤详情请参见步骤一:创建Session集群。
无需选中
备注
可选,填写备注信息。
无需填写
更多设置
打开该开关后,您需要配置以下信息:
Kerberos集群:单击左侧下拉列表选择您已创建的Kerberos集群,Kerberos集群创建操作详情请参见注册Hive Kerberos集群。
principal:Kerberos principal又称为主体,主体可以是用户或服务,用于在Kerberos加密系统中标记一个唯一的身份。
无需填写
单击部署。
步骤三:启动并查看Flink计算结果
在作业运维页面,单击目标作业名称操作列中的启动。
配置资源信息和基础设置。
作业启动参数配置详情请参见作业启动。
单击启动。
单击启动后,您可以看到作业状态变为运行中,则代表作业运行正常。
重要如果您需要启动批作业,则需要在作业运维页面,将作业类型切换为批作业,才可以看到您上线的批作业。系统默认展示的作业为流作业。
查看Flink计算结果。
流作业示例的计算结果
在TaskManager中以.out结尾的日志文件中,搜索shakespeare查看Flink计算结果。
批作业示例的计算结果
登录OSS管理控制台,在您配置的数据输出文件存放目录查看结果。
本示例中的数据输出文件目录为oss://flink-test-oss/artifacts/namespaces/flink-test-default/batch-quickstart-test-output.txt。
(可选)步骤四:停止作业
如果您对作业进行了修改且希望修改生效,则需要先上线,然后停止再启动。另外,如果作业无法复用State,希望作业全新启动时,也需要停止后再启动作业。作业停止详情请参见作业停止。