You need to enable JavaScript to run this app.
流式计算 Flink版

流式计算 Flink版

复制全文
作业开发
开发 Flink JAR 任务
复制全文
开发 Flink JAR 任务

Flink 支持开发 JAR 类型任务。您可以自行编写业务应用程序并构建 JAR 包,只需上传应用 JAR 包并配置关键参数,便完成了 JAR 任务的开发,操作十分简单。
本文为您介绍 Stream 类型 JAR 任务的开发流程。如需了解 Batch JAR 任务,请参见开发 Flink Batch JAR 任务

前提条件

  • 项目管理员(Project_Admin)已经在项目内创建好 Flink 资源池,请参见创建资源池
  • 开发人员需提前完成业务应用程序开发,并构建好 JAR 包。JAR 包文件名称要符合控制台要求,只能由大小写字母、数字、下划线(_)、短横线(-)和英文句号(.)组成。

体验流程

Image
本文将 Flink JAR 任务开发流程总体分为了两个阶段,分别是开发阶段和运维阶段,每个阶段对应的成员及主要工作均不相同。

  • 开发阶段:一般是项目开发人员负责上传 JAR 包、开发和上线 JAR 任务。
  • 运维阶段:一般是项目运维人员负责启动任务,并查看任务运行情况。

步骤一:上传 JAR 包

Flink 控制台提供了 JAR 包资源统一管理的功能,您在体验开发 JAR 任务前,可以提前将 JAR 包上传到控制台。

  1. 登录流式计算 Flink 版控制台
  2. 在顶部菜单栏选择目标地域。
  3. 在左侧导航栏选择项目管理,然后单击项目区块进入项目。
  4. 在项目左侧导航栏选择文件管理,然后单击上传资源按钮。

Image

  1. 上传资源支持两种方式
    Tips : 从 Flink 页面点击删除会同时删除 TOS 中数据,请谨慎使用!
    1. 文件上传:在上传资源对话框,设置资源目录、上传 JAR 包、填写资源描述,然后单击确定
      Image
    2. 注册 TOS 文件:提前将文件上传至 TOS 中,然后在上传资源页面注册到 Flink 项目中使用。
      Tips:文件地址填写非 Flink 默认 bucket 在 Flink 页面点击下载会报错。
      Image

配置

说明

上传方式

文件上传:上传本地文件。
注册 TOS 文件:使用 TOS 中的文件。

资源目录

选择资源文件的所属文件夹。
系统默认存在一个默认文件夹,但为了更方便的管理资源文件,您可以自由创建文件夹。

资源文件

选择本地文件上传。

  • 上传文件的名称只能由大小写字母、数字、下划线(_)、短横线(-)和英文句号(.)组成。
  • 文件大小不超过 500 MB。
  • 如果重新上传文件,新文件将覆盖已上传的文件。

TOS 文件地址

填写文件在 TOS 中的路径。

资源名称

默认与您上传文件的名称保持一致,支持自定义修改文件名称。
文件的名称只能由大小写字母、数字、下划线(_)和英文句号(.)组成,字符长度范围为 1 ~ 60。

资源描述

填写所上传资源文件的描述,一般为功能、用途描述。

步骤二:开发任务

  1. 登录流式计算 Flink 版控制台
  2. 在顶部菜单栏选择目标地域。
  3. 在左侧导航栏选择项目管理,在搜索框中根据项目名称进行模糊搜索,然后单击项目区块进入项目。
  4. 在项目左侧导航栏选择任务开发
  5. 任务开发页面单击加号按钮,创建任务。
    您也可以选择目标文件夹,直接在该文件夹中创建任务;也可以直接单击 Flink 任务下的 Flink JAR
  6. 创建作业对话框,设置任务名称、所属文件夹、引擎版本等关键参数,然后单击确定

Image

配置

说明

任务名称

自定义设置任务的名称。
名称的字符长度限制在 1~48,支持数字、大小写英文字母、下划线(_)、短横线(-)和英文句号(.),且首尾只能是数字或字母。

作业类型

选择 Flink 任务 > Flink JAR

所属文件夹

从下拉列表中选择目标文件夹。
系统默认存在一个数据开发文件夹,但为了更方便的管理任务,您可以自由创建文件夹。如何创建任务文件夹,请参见管理任务文件夹

引擎版本

目前支持 Flink 1.11-volcano 、Flink 1.16-volcano、Flink 1.17-volcano 版本,请按需选择。

任务描述

输入任务的描述语句,一般描述任务实现的功能。

  1. 在任务配置区域,设置任务关键参数。

Image

配置

说明

任务名称

自定义设置任务的名称。
名称的字符长度限制在 1~48,支持数字、大小写英文字母、下划线(_)、短横线(-)和英文句号(.),且首尾只能是数字或字母。

任务类型

选择 Flink 任务 > Flink Stream > Jar
如需体验 SQL 任务开发流程,请参见开发SQL作业

所属文件夹

系统提供文件夹管理功能,用于分类管理任务。在体验任务开发过程中,您可以直接选择系统默认存在的数据开发文件夹
如果您有自建文件夹管理任务的要求,请单击创建文件夹的文件夹按钮,然后创建文件夹。

引擎版本

目前支持 Flink 1.11-volcano 、Flink 1.16-volcano、Flink 1.17-volcano 版本,请按需选择。

任务描述

输入任务的描述语句,一般描述任务实现的功能。

  1. 配置任务。
    在任务配置区域,设置任务关键参数,然后单击保存

Image

参数模式支持两种类型,如下所示:
Tips:入参较为复杂,如包含特殊字符、格式复杂、长度较长等可以使用 base64 转码后输入,在 main 函数中进行 base64 解码后使用,开启 base64 能力需要在自定义参数中增加 args.base64.enabled:true。

  • KV
    Image
    在 main 函数中,表现为--TEST 123, key 前面会被增加 --
    args[] 解析后:args[0] = --TEST args[1]=123
    Tips : KV 模式 Flink 自带了 ParameterTool 帮助来解析参数,使用方式请参考:使用应用参数
  • 文本
    Image
    在 main 函数中,表现为-TEST 123,通过空格来区分 args[] 下标
    args[] 解析后:args[0] = -TEST args[1]=123

配置

说明

任务名称

创建任务时设置的名称。

JAR URI

从下拉列表中选择已上传的 JAR 包资源。

Entrypoint Class

业务 JAR 包程序的主类,请根据界面提示填写。

Entrypoint main args

业务程序 main 函数的args[]参数,非必填项。请根据界面提示填写。

步骤三:上线 JAR 任务

开发与生产隔离,当任务开发者完成任务开发后,可以将任务上线到生产环境。

  1. 任务上线设置对话框,选择运行资源池、设置任务优先级调度策略,然后单击确定
    系统会提示任务上线成功,可以前往任务管理页面查看。
    Image

    配置

    说明

    运行资源池

    从下拉列表中选择任务运行的 Flink 资源池。

    注意

    如果您提交的任务开启了自动调优,则必须运行在按量付费类型的资源池。

    任务优先级

    系统默认预置的优先级为 L3,您可以按需设置任务优先级,数字越小优先级越高。
    任务优先级决定了任务内部的调度顺序,优先级高的任务先被调度,即 L3 先于 L4 被调度。

    调度策略

    根据需求配置任务调度策略:

    • GANG:保证任务的所有实例被一起调度,即当剩余资源满足任务正常运行所需资源时才进行分配;不满足所需资源则不分配。
      该策略不会出现分配资源后,任务却不能启动的现象,解决了资源死锁问题。

      说明

      Flink Batch 任务不支持 GANG 调度策略,仅支持 DRF 调度策略。执行方式选择为 Batch,上线配置页面不会展示 GANG 策略。

    • DRF:从多维资源考虑,更为合理地将资源公平分配给资源池内的各个任务,从而提升利用率。
      例如:剩余10 核 40 GB 的资源,A 任务需要10 核 20 GB 资源;B 任务需要 2 核 8 GB 的资源。如果分配给 A,剩余 0 核 20 GB 资源无法被利用;DRF 策略会选择分配给 B,剩下 8 核 32 GB 可以继续给后来任务使用。

    调度时长

    设置为 GANG 调度策略时,需要设置调度时长。调度时长表示再次调度的时间间隔,即任务拉起不成功会再次重试调度。
    如果超过调度时长,任务就会调度失败。如果设置为 0,则会一直重试。

步骤四:启动 JAR 任务

开发与生产隔离,任务开发者将任务上线到生产环境后,由运维人员启动任务。

  1. 在项目左侧导航栏选择任务运维 > 任务管理

  2. 任务列表页面,单击操作列中的启动

  3. 启动任务对话框,选择任务启动方式,然后单击确定
    Image

    配置

    说明

    启动方式

    请根据实际情况选择任务启动方式:

    • 从最新状态启动:以最新的 Checkpoint 或 Savepoint 启动。
    • 全新启动:不使用 Checkpoint 或 Savepoint,直接启动。
    • 指定快照启动:指定目标快照(Savepoint)启动。

    说明

    首次上线的任务,只能是全新启动方式。

    参数配置

    任务携带在开发侧的并行度、Task Manager 和 Job Manager 的资源配置。在启动任务时支持您更新配置并快速生效。

    说明

    更新参数配置并启动任务后,将新增一个任务版本,并将最新配置同步到任务开发侧。

    • 并行度:任务全局并发数。
    • 单个 TaskManager CPU 数:单个 TaskManager 的 CPU 核数。
    • 单个 TaskManager 内存大小:单个 TaskManager 占用的内存大小。
    • 单个 TaskManager slot 数:单个 TaskManager 的 Slot 数量。
    • JobManager CPU 数:单个 JobManager 的 CPU 核数。
    • JobManager 内存大小:单个 JobManager 占用的内存大小。

    更多设置

    在任务开发变更时新增或修改算子,可能会导致任务无法从快照恢复,此时您可以选择启用允许忽略部分算子状态功能,保证任务能正常运行。
    Image

    注意

    • 仅当选择指定快照启动从最新状态启动方式时,支持勾选忽略部分算子状态。
    • 当您选择全新启动方式时,不支持忽略算子状态。

任务在生产环境上正常运行后,您可以在 Flink UI 界面了解任务运行、TaskManager、JobManager 的详细信息。

  1. 在项目左侧导航栏选择任务运维 > 任务管理
  2. 任务列表页面筛选目标任务,单击操作列下的 Flink UI
    浏览器将会自动打开 Apache Flink Dashboard 页面。
  3. 在 Apache Flink Dashboard 左侧导航栏选择 Task Managers,然后单击任务 ID。
    Image
  4. 在任务的 Task Manager 详情页面,单击 Stdout 页签,然后在日志中搜索successfully,查看任务执行结果。
    Image
最近更新时间:2025.08.25 14:34:13
这个页面对您有帮助吗?
有用
有用
无用
无用