案例实战:作业编码、打包与提交

9.6. 案例实战:作业编码、打包与提交#

本章的重点是集群部署与作业提交,本实验也与此相关。

一、实验目的#

熟悉 Flink 程序打包、部署、参数设置与作业提交流程。

二、实验内容#

如果读者有超过一台节点的实验环境,可以按照 9.1.1 小节中 Standalone 集群的部署方式来部署一个多节点的集群;如果读者实验环境有限,可以继续使用单机 Standalone 集群。在集群的配置上,我们需要设置一些重要的参数,例如:conf/flink-conf.yaml 文件中的 jobmanager.rpc.addresstaskmanager.numberOfTaskSlotsconf/slaves 文件。

我们继续在第 7 章实验的基础上,完善该程序,并在 Standalone 集群上提交作业。

三、实验要求#

  • 要求 1: 对 Standalone 集群进行配置,记录 Standalone 集群必要参数的值,启动这个集群。

  • 要求 2: 在本节中,我们修改第 7 章实验中的程序,允许该程序接收来自命令行工具的参数,参数为股票价格数据集文件的绝对路径。

  • 要求 3: 使用 Maven 对程序打包,生成 JAR 包,在命令行中使用 Flink 命令行工具提交作业:使用 -p 控制并行度,使用 -c 选择主类,增加数据集绝对路径的参数。在 Flink WebUI 中查看作业的详细信息:尝试不同的并行度,查看不同作业的执行区别。

  • 要求 4: 修改代码,尝试对不同的算子设置 Slot Sharing Group。在 Flink WebUI 中查看作业与之前运行情况的区别,尤其是 Slot 数量等信息。

四、实验报告#

将上述运行过程、程序代码以及 Flink WebUI 的截图整理并撰写成实验报告。

本章小结#

通过本章的学习,读者应该掌握了 Flink 集群的部署模式、常用配置和作业提交方式。这些操作可以帮助读者在生产环境中执行 Flink 作业。