全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

Flink作业提交

最近更新时间:2025-11-21 19:07:18

本文档介绍如何使用作业提交界面创建和提交 Flink 任务。该界面提供了完整的配置选项,包括基础作业信息和高级资源配置。

入口说明

1. 进入作业创建页面

点击"新建作业"按钮,进入作业创建页面。

2. 选择作业类型

在页面顶部选择作业类型:

  • Flink:用于提交 Flink 应用程序

操作步骤

  1. 填写必填字段

    • 作业名称

    • Jar uri

  2. 配置高级设置(可选)

    • 根据任务需求调整资源配置

    • 设置认证信息(如需要)

    • 配置检查点和状态后端

    • 添加应用程序参数和依赖文件

  3. 检查配置

    • 确认所有必填字段已填写

    • 检查资源配置是否合理

    • 验证路径和格式是否正确

    • 确认 JSON 格式的有效性

  4. 提交作业

    • 点击"确定"按钮提交作业

    • 点击"取消"按钮放弃当前配置

字段说明

必填字段

*作业名称

  • 必填,说明作业的用途,名称可以重复

  • 作业ID自动生成,用于标识作业的唯一名称

  • 填写要求:

    • 请输入有意义的作业名称

    • 建议使用能反映作业功能的命名规则

  • 示例:flink-testdata_streaming_jobrealtime_processing

*作业提交

Jar uri

  • 说明:Flink 应用程序的 JAR 文件路径,计算任务源文件(数据+程序)

  • 填写要求:

    • 输入 JAR 文件的完整 URI

    • 支持多种存储协议(如 KS3、HDFS、HTTP 等)

    • 确保路径可访问且权限正确

  • 示例:

    • KS3 路径:ks3://bigdata-flink-test/jars/flink_demo-1.0-SNAPSHOT.jar

高级设置(选填)

资源配置

Job核数

  • 默认值:2

  • 说明:JobManager 进程使用的 CPU 核心数

  • 调整建议:

    • 简单任务:1-2 核即可

    • 复杂任务或高可用场景:可根据需要增加到 2-4 核

  • 操作方法:使用 -+ 按钮调整数值

Job内存

  • 默认值:8

  • 说明:JobManager 进程使用的内存大小(单位:GB)

  • 调整建议:

    • 小任务:4-8GB

    • 中等任务:8-16GB

    • 大任务或高可用场景:16GB 及以上

  • 注意事项:确保有足够的集群资源

Task数量

  • 默认值:2

  • 说明:TaskManager 实例的数量

  • 调整建议:

    • 数据量小:1-2 个

    • 数据量中等:2-5 个

    • 数据量大或高并发:5 个以上

  • 注意事项:需要根据集群资源和数据量合理设置

Task核数

  • 默认值:1

  • 说明:每个 TaskManager 使用的 CPU 核心数

  • 调整建议:

    • 一般任务:1-2 核

    • 计算密集型任务:2-4 核

  • 总计算资源:Task数量 × Task核数

Task内存

  • 默认值:4

  • 说明:每个 TaskManager 使用的内存大小(单位:GB)

  • 调整建议:

    • 小任务:2-4GB

    • 中等任务:4-8GB

    • 大任务:8GB 及以上

  • 总内存资源:Task数量 × Task内存

认证配置

AK

  • 字段:AK(Access Key)

  • 说明:访问密钥 ID,用于身份认证

  • 填写要求:

    • 请输入有效的 Access Key

    • 确保该密钥具有执行任务所需的权限

  • 安全提示:妥善保管密钥信息,不要泄露

SK

  • 字段:SK(Secret Key)

  • 说明:密钥密钥,与 AK 配对使用

  • 填写要求:

    • 请输入与 AK 对应的 Secret Key

    • 确保密钥的有效性和权限

  • 安全提示:这是敏感信息,请谨慎填写

镜像配置

镜像

  • 说明:Docker 镜像地址(可选)

  • 填写要求

    • 如果使用自定义镜像,请输入完整的镜像地址

    • 格式:registry/path/image:tag

  • 示例

    • 默认:hub.kce.ksyun.com/cbd-serverless-spark/flink:1.19.0-ksc0.1

  • 注意事项

    • 留空则使用默认镜像

    • 确保镜像可以正常访问

    • 镜像版本应与打包的 Flink 版本匹配

扩展配置

Conf

  • 说明:Flink 配置参数,使用 JSON 格式

  • 填写要求

    • 必须是有效的 JSON 格式

    • 可以配置多个参数

  • 常用配置示例

{
    "state.backend": "rocksdb",
    "state.backend.incremental": "true",
    "execution.checkpointing.mode": "EXACTLY_ONCE",
    "restart-strategy": "fixed-delay",
    "restart-strategy.fixed-delay.attempts": "3",
    "restart-strategy.fixed-delay.delay": "10s",
    "fs.ks3.impl": "com.ksyun.kmr.hadoop.fs.ks3.Ks3FileSystem",
    "fs.ks3.endpoint": "ks3-cn-beijing-internal.ksyuncs.com",
    "fs.ks3.attempts.maximum": "5",
    "fs.ks3.multipart.uploads.block.size": "5242880",
    "parallel.upload.part.thread.size": "8",
    "parallel.upload.part.pool.size": "16",
    "fs.ks3.copy.total.limit.size": "1099511627776",
    "fs.ks3.AccessKey": "XXX",
    "fs.ks3.AccessSecret": "XXX"
  }

主要配置项说明:

  • 状态后端配置

    • state.backend:状态后端类型(如 rocksdbfilesystem

    • state.backend.incremental:是否启用增量检查点

  • 检查点配置

    • execution.checkpointing.mode:检查点模式(EXACTLY_ONCEAT_LEAST_ONCE

    • execution.checkpointing.interval:检查点间隔(毫秒)

  • 重启策略配置

    • restart-strategy:重启策略类型(fixed-delayfailure-rate 等)

    • restart-strategy.fixed-delay.attempts:最大重启次数

    • restart-strategy.fixed-delay.delay:重启延迟时间

  • 文件系统配置

    • fs.ks3.impl:KS3 文件系统实现类

    • fs.ks3.endpoint:KS3 服务端点

    • fs.ks3.attempts.maximum:最大重试次数

应用程序配置

Entrypoint class

  • 说明:Flink 应用程序的入口类(主类)

  • 填写要求

    • 输入应用程序的主类完整路径

    • 该类必须包含 main 方法

  • 示例

    • com.ksyun.cbd.FlinkCheckpointBenchMark

    • com.example.StreamingJob

    • org.apache.flink.examples.java.wordcount.WordCount

Entrypoint main args

  • 说明:传递给应用程序主方法的命令行参数

  • 填写要求

    • 多个参数需换行区分

    • 每行一个参数

    • 参数顺序要与主方法参数顺序一致

  • 示例

ks3://bigdata-flink-test/output
4
1000
10000
  • 说明

    • 第一行可能是检查点路径

    • 后续行是数值参数(如并行度、窗口大小等)

并行度配置

Parallelism

  • 默认值:1

  • 说明:Flink 作业的全局并行度

  • 调整建议

    • 根据数据量和 TaskManager 资源设置

    • 一般设置为 TaskManager 总数 × 每个 TaskManager 的 Slot 数

    • 可以通过代码中的 setParallelism() 覆盖

  • 注意事项

    • 并行度设置过高可能导致资源浪费

    • 并行度设置过低可能影响性能

Number of task slots

  • 默认值:1

  • 说明:每个 TaskManager 的任务槽数量

  • 调整建议

    • 通常设置为 TaskManager 的 CPU 核心数

    • 可以根据任务特点调整

  • 总 Slot 数:Task数量 × Number of task slots

检查点配置

Initial savepoint path

  • 说明:Flink任务的初始保存点(Savepoint)路径(可选),可以从特定时间点恢复任务,仅支持KS3路径

  • 填写要求

    • 输入有效的保存点路径

    • 用于从指定保存点恢复作业

  • 使用场景

    • 从保存点恢复作业

    • 作业迁移或升级

  • 示例

    • ks3://bigdata-flink-test/savepoint

Enable checkpoint

  • 选项:是 / 否

  • 默认值:是

  • 说明:是否启用检查点功能

  • 选择建议

    • :需要容错和 Exactly-Once 语义的生产环境

    • :仅用于测试或对一致性要求不高的场景

  • 注意事项

    • 启用检查点会消耗一定资源

    • 但可以保证作业的容错能力

Checkpoint interval

检查时间间隔

  • 默认值:60000(毫秒)

  • 说明:检查点触发的时间间隔(单位:毫秒)

  • 调整建议

    • 需要频繁恢复:较短的间隔(10-60 秒)

    • 一般场景:中等间隔(30-300 秒)

    • 对延迟要求高:较长的间隔(5 分钟以上)

  • 注意事项

    • 间隔过短会增加系统开销

    • 间隔过长可能导致恢复时丢失较多数据

  • 示例

    • 30 秒:30000

    • 1 分钟:60000

    • 5 分钟:300000

配置示例

示例 1:简单的流处理任务

基础配置:

  • 作业名称:flink-test

  • Jar uri:ks3://bigdata-flink-test/jars/flink_demo-1.0-SNAPSHOT.jar

  • Entrypoint class:com.example.StreamingJob

高级配置(使用默认值):

  • Job 核数:2

  • Job 内存:8G

  • Task 数量:2

  • Task 核数:1

  • Task 内存:4G

  • Parallelism:1

  • Number of task slots:1

  • Enable checkpoint:是

  • Checkpoint interval:30000

示例 2:高性能流处理任务

基础配置:

  • 作业名称:high_performance_streaming

  • Jar uri:ks3://bucket/apps/flink-app.jar

  • Entrypoint class:com.example.HighPerformanceJob

  • Entrypoint main args:

ks3://bucket/data/input
ks3://bucket/data/output

高级配置:

  • Job 核数:4

  • Job 内存:16G

  • Task 数量:5

  • Task 核数:2

  • Task 内存:8G

  • Parallelism:10

  • Number of task slots:2

  • 镜像:hub.kce.ksyun.com/cbd-serverless-spark/flink:1.19.0-ksc0.1

  • Enable checkpoint:是

  • Checkpoint interval:60000

  • Conf(JSON 格式):

{
  "state.backend": "rocksdb",
  "state.backend.incremental": "true",
  "execution.checkpointing.mode": "EXACTLY_ONCE",
  "execution.checkpointing.interval": "60000",
  "restart-strategy": "fixed-delay",
  "restart-strategy.fixed-delay.attempts": "5",
  "restart-strategy.fixed-delay.delay": "10s"
}

注意事项

资源规划

  1. 合理配置资源

    • 根据数据量和任务复杂度配置资源

    • 避免过度配置导致资源浪费

    • 确保集群有足够的可用资源

  2. 内存配置建议

    • JobManager 内存应考虑作业管理开销

    • TaskManager 内存应预留部分给系统开销

    • 一般建议保留 10-20% 的系统开销

  3. 并行度调整

    • Parallelism × Number of task slots ≈ Task 总数 × Slot 数

    • 可以根据数据流特点调整

    • 过高的并行度可能导致小任务过多

    • 过低的并行度可能影响吞吐量

性能优化

  1. 并行度设置

    • 根据数据流特点设置合适的并行度

    • 考虑数据倾斜问题

    • 可以通过 KeyBy 调整数据分布

  2. 检查点优化

    • 启用增量检查点减少开销

    • 合理设置检查点间隔

    • 使用异步检查点提升性能

  3. 资源优化

    • TaskManager Slot 数通常等于 CPU 核心数

    • 避免过度分配资源

    • 监控资源利用率

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈