Skip to content

3.3.6 计算集群 ​

3.3.6.1 计算集群与计算会话的关系 ​

平台中的「计算集群」以 Flink Session 集群为管理对象。左侧菜单「数据开发 → 实时开发 → 计算集群」是一个分组入口,展开后包含两个页面:

表31 计算集群分组下的两个页面
页面管理对象主要用途
计算会话Flink Session 集群实例创建、编辑、启停、重启、查看配置与日志、删除计算集群实例
资源中心对象存储(S3)中的资源文件创建、上传、编辑、重命名、下载与删除脚本、JAR、配置文件

左右滑动查看完整表格

「计算会话」的含义

计算会话不是资源用量查看页。列表中的每一行就是一个 Flink Session 计算集群实例,「创建计算会话」等同于在 Kubernetes 上拉起一套 Flink Session 集群,「停止计算会话」等同于释放这套集群。实时 SQL 任务能否启动,取决于是否存在可用的计算会话。

新建实例时填写的名称会由系统追加实例前缀,例如填写 flink-session-prod,列表中显示为 flink-5-25-flink-session-prod,其中 flink-5-25- 为该项目的实例前缀。列表中的所有实例都以该前缀开头。

计算会话只服务于实时 SQL 作业。两类实时作业对计算资源的使用方式不同:

表32 两类实时作业对计算会话的依赖
作业类型计算资源与计算会话的关系
Flink SQLFlink Session 集群新建或编辑任务时必须选择一个 Flink Session(必填项),作业提交到该集群内运行
Flink JARApplication(独立部署)作业自带 JobManager 与 TaskManager,不需要选择计算会话;仍需指定 K8s 数据源、命名空间与 Flink 根目录

左右滑动查看完整表格

3.3.6.2 页面入口与页面结构 ​

进入方式:左侧菜单「数据开发」→「实时开发」→「计算集群」→「计算会话」。页面以标签页形式在顶部打开,与项目内其他页面并列,可随时切换。

表33 计算会话页面的区域构成
区域元素说明
顶部筛选实例名称按实例名称查询,支持部分匹配;配合「重置」「查询」使用
列表标题Session列表区标题,右侧为「新建Session」与刷新、行高、列设置图标
列表实例名称 / 引擎 / 命名空间 / 观测样本 / 状态 / 备注 / 更新时间 / 操作每行一个计算集群实例,行尾为操作入口
分页共 N 条、每页 20 条默认每页 20 条,可切换页码

左右滑动查看完整表格

3.3.6.3 列表字段与实例状态 ​

表34 计算会话列表的字段
列含义说明
实例名称集群实例的名称由创建时填写的名称加上项目实例前缀构成
引擎计算引擎类型当前版本仅提供 Flink Session
命名空间实例所在的 Kubernetes 命名空间创建后不可修改,列宽不足时以省略号显示
观测样本实例的观测样本信息尚未采集到样本时该列为空
状态实例当前状态运行中 / 已停止 / 创建中,见下表
备注创建或编辑时填写的备注未填写时显示「-」
更新时间最近一次状态或配置变更的时间停止、启动、编辑保存后都会刷新

左右滑动查看完整表格

表35 计算会话的三种状态
状态含义此时可以做什么
运行中集群已就绪,JobManager 与 TaskManager 正常运行提交实时 SQL 任务、查看日志与配置、停止、重启、删除
创建中已提交创建或启动,正在拉起集群资源等待就绪;此时日志可能暂无节点,删除会被拒绝
已停止集群已释放,实例及其配置保留编辑配置、重新启动、删除

左右滑动查看完整表格

3.3.6.4 行内操作与可用条件 ​

行尾提供七个操作入口。可用状态与实例当前状态直接相关,置灰的操作无法点击:

表36 行内操作的可用条件
操作运行中已停止作用
日志可用可用打开日志弹窗,查看 JobManager 与 TaskManager 输出
查看配置可用可用打开「实例配置」弹窗,查看概要与 Kubernetes 资源定义
编辑置灰可用修改实例的运行参数与存储配置
停止可用置灰释放集群资源,实例保留为「已停止」
启动置灰可用按现有配置重新拉起集群
重启可用可用重新拉起实例,用于恢复异常状态
删除可用可用删除实例并清理集群内资源,不可恢复

左右滑动查看完整表格

编辑前先停止实例

实例处于「运行中」时,「编辑」按钮为置灰状态。需要修改配置时,先点击「停止」并在确认框中确认,待状态变为「已停止」后即可编辑;修改完成后点击「启动」恢复运行。

3.3.6.5 新建计算会话 ​

新建计算会话即在当前项目下创建一套 Flink Session 集群。创建前请确认以下条件已满足,否则相关下拉列表为空、或保存后长时间停留在「创建中」。

  • K8s 数据源已创建:计算会话通过 Kubernetes 部署实例,需先在数据源管理中创建 K8S 数据源。
  • 命名空间可用:填写的命名空间需在目标集群中存在,或具备自动创建权限。
  • 对象存储数据源已创建:S3 地址与凭据来自对象存储数据源,需已填写存储桶。
  • 存储路径可读写:Flink 根目录所在的桶或路径需具备读写权限,保存时会校验并创建目录。
  • 实例名称唯一:同一项目内实例名称不可重复。

操作步骤:

  1. 进入「计算会话」页面,点击列表右上方的「新建Session」。
  2. 在「新建Session」弹窗中填写实例名称,例如 flink-session-prod。
  3. 确认「引擎类型」为 Flink Session(当前版本仅此一项)。
  4. 在「K8s 集群」中选择已创建的数据源;在「命名空间」中填写实例部署的命名空间,例如 datasphere-dev。
  5. 在「对象存储数据源」中选择 S3 数据源,并填写「Flink 根目录」,例如 s3://datasphere-test/flink/。
  6. 按实际负载调整资源规格、Checkpoint 与动态扩缩容参数;不调整时保留默认值。
  7. 填写备注(可选),点击「保存」。

填写完成的窗口如下图所示,其中资源规格已按示例调整,自动扩缩容已关闭:

保存后的结果

点击「保存」后页面提示「已提交创建」,列表新增一条记录,状态为「创建中」;JobManager 与 TaskManager 就绪后状态变为「运行中」,此时才可被实时任务选用。创建过程需要数分钟,请勿重复提交。

创建中的实例不能删除

实例处于「创建中」时点击「删除」,会提示「Session仍存在但REST尚未就绪,无法确认运行作业,请稍后重试」。请等待实例就绪或联系平台管理员处理,不要反复提交创建。

3.3.6.6 配置字段说明 ​

新建与编辑使用同一套字段,按用途分为六组。下表中的默认值为弹窗中预填的初始值。

表37 基础信息与存储字段
字段必填默认值说明
实例名称是—实例名称。保存后系统追加项目前缀,最终名称在列表中展示
引擎类型是Flink Session计算引擎类型,当前版本固定为 Flink Session
K8s 集群是—实例部署所用的 K8S 数据源,取自数据源管理;列表为空时需先创建 K8S 数据源
命名空间是—实例在 Kubernetes 中的命名空间,如 datasphere-dev;创建后不可修改
对象存储数据源是—S3 地址与凭据的来源;列表为空时需先创建对象存储数据源并填写存储桶
Flink 根目录是—实例的存储根路径,支持桶根目录或桶内路径。checkpoint、savepoint、ha 按实例隔离,history 按租户项目共享;保存时校验存储权限并创建目录
备注否—实例说明,显示在列表的「备注」列

左右滑动查看完整表格

表38 资源配置字段
字段必填默认值说明
TaskManager Slot 数否4每个 TaskManager 提供的 Slot 数量,决定单节点可并行承载的子任务数
JobManager CPU否1JobManager 的 CPU 配额(核)
JobManager 内存否1024mJobManager 的内存配额,支持 m 等单位
TaskManager CPU否1单个 TaskManager 的 CPU 配额(核)
TaskManager 内存否2048m单个 TaskManager 的内存配额
第三方 JAR(可选)否空实例启动时额外加载的 JAR,按 s3://存储桶/文件.jar 填写,多个用分号分隔

左右滑动查看完整表格

表39 Checkpoint 字段
字段必填默认值说明
Checkpoint 周期否60s两次 Checkpoint 之间的间隔;周期越短,故障恢复点越新,开销也越大
Checkpoint 保留数量否3最多保留的 Checkpoint 个数,超出后按时间淘汰最早的
取消后的 Checkpoint 保留策略否保留,可供后续恢复作业取消后是否保留 Checkpoint,用于后续从检查点恢复

左右滑动查看完整表格

表40 动态扩缩容字段
字段必填默认值说明
动态扩缩容(Autoscaler)否开启开启后按下方参数自动调整并行度;关闭后使用固定并行度
稳定窗口否3m扩缩容决策所需的指标稳定时间
指标采集窗口否3m计算利用率所采用的指标时间窗口
目标利用率否0.8期望达到的资源利用率,低于该值时倾向于扩容
利用率边界否0.2判定为需要缩容的下界
重启耗时预估否3m预估单次重启所需时间,参与扩缩容决策
追数耗时预估否3m预估积压数据的追赶时间,参与扩缩容决策
最小并行度否1自动扩缩容的下限
最大并行度否2自动扩缩容的上限,同时约束可用的 Slot 总量

左右滑动查看完整表格

资源规格与并行度的关系

可承载的子任务总量由 TaskManager 数量、每个 TaskManager 的 Slot 数决定,并受最大并行度约束。并行度上限大于实际可用的 Slot 总量时,作业会因资源不足而等待。调整前先确认集群资源余量。

3.3.6.7 编辑计算会话 ​

编辑用于调整已创建实例的运行参数与存储配置,不改变实例的身份信息。

  1. 在「计算会话」列表中定位目标实例,确认其状态为「已停止」;若为「运行中」,先点击「停止」并确认。
  2. 点击行尾「编辑」,打开「编辑Session」弹窗,窗口回填当前配置。
  3. 修改允许调整的字段,例如资源规格、Checkpoint 周期、动态扩缩容参数、备注。
  4. 点击「保存」,弹窗关闭,列表中的更新时间刷新。
  5. 点击「启动」,按新配置重新拉起实例。

弹窗中哪些字段可以修改,取决于它是否构成实例的身份信息:

表41 编辑时各字段的可修改性
字段编辑时是否可改说明
实例名称不可改以灰色显示,实例身份不可变更
引擎类型不可改固定为 Flink Session
命名空间不可改实例所在的命名空间不可迁移
K8s 集群、对象存储数据源、Flink 根目录可改更换存储或集群后,新配置在实例下次启动时生效
资源规格、Checkpoint、动态扩缩容、备注可改按业务负载调整

左右滑动查看完整表格

3.3.6.8 启动、停止与重启 ​

三个操作都会弹出二次确认框,确认后立即下发,列表状态随之变化。

  1. 停止:在「运行中」的实例行点击「停止」→ 确认框提示「确认停止「实例名」?请先停止 Session 内运行的任务。」→ 点击「确定」,状态变为「已停止」。
  2. 启动:在「已停止」的实例行点击「启动」→ 确认框提示「确认启动「实例名」?」→ 点击「确定」,状态先变为「创建中」,就绪后变为「运行中」。
  3. 重启:点击「重启」→ 确认框提示「确认重启 Session「实例名」?请先停止 Session 内运行的任务。」→ 点击「确定」,实例重新拉起。
表42 启动、停止与重启的差异
操作可用状态结果
停止运行中释放集群资源,状态变为「已停止」;实例内的实时任务会随之中断
启动已停止重新拉起集群,状态先为「创建中」,就绪后变为「运行中」
重启运行中 / 已停止重新拉起实例,常用于实例异常或配置变更后

左右滑动查看完整表格

停止与重启前先处理 Session 内的任务

同一个 Session 可能承载多个实时 SQL 作业。停止或重启前,先在实时任务实例中停止属于该 Session 的作业,否则确认框中的提示会被忽略而直接下发,作业将随集群一起中断。

3.3.6.9 查看配置与日志 ​

「查看配置」用于核对实例实际下发的运行参数,「日志」用于排查启动失败与运行异常。

查看配置:点击行尾「查看配置」,弹窗「实例配置」上方为概要信息(实例名称、引擎、命名空间、说明),下方为该实例在 Kubernetes 中的资源定义,包括 apiVersion、kind(FlinkDeployment)、metadata.name,以及 spec 中的镜像、Flink 版本、ServiceAccount、podTemplate 等。可据此确认镜像版本与 Pod 配置是否符合预期。

查看日志:点击行尾「日志」,弹窗标题为「日志 · 实例名」,标题下方标注所属命名空间,并提示共享 Session 的容器日志可能包含其他任务的输出。可切换「JobManager」「TaskManager」页签,在节点下拉中选择具体 Pod,查看最近 1000 条日志,支持刷新与「下载节点日志」。

  • 日志来自 Kubernetes 容器输出,实例重建后旧日志不再保留。
  • 「创建中」的实例通常还没有可读取的节点,需等待 Pod 启动后再刷新。
  • Session 为共享集群,日志中可能混有其他任务的输出,排查时结合时间与作业 ID 过滤。

3.3.6.10 删除计算会话 ​

删除会同时清理集群内的 JobManager、TaskManager 等资源,操作不可恢复。

  1. 确认实例内的实时任务已停止;实例处于「运行中」时建议先「停止」。
  2. 点击行尾「删除」,弹出确认框「确认删除「实例名」?请先停止 Session 内运行的任务。将同时清理集群内资源。」
  3. 核对实例名称后点击「确定」,实例从列表中移除。

删除前必须确认的两件事

一是实例内没有仍在运行的作业,否则作业会随集群一起失败;二是实例不处于「创建中」,创建中的实例会因 REST 未就绪而拒绝删除。删除后实例配置与集群资源一并清理,无法恢复。

3.3.6.11 注意事项 ​

  • 一个计算会话可被多个实时 SQL 任务共用,任务之间互相影响;重要作业建议使用独立实例。
  • 实例名称创建后不可修改,命名时体现用途与归属,例如 flink-session-prod。
  • 命名空间创建后不可修改,跨命名空间迁移需新建实例。
  • 资源规格调整后需重启实例才会作用到运行中的集群。
  • 删除实例不会删除对象存储中的 checkpoint、savepoint 等文件,需要时在存储侧单独清理。
  • 实时 JAR 作业不依赖计算会话,无需为 JAR 作业单独创建 Session。

大数据平台用户操作手册