切换主题
3.3.6 计算集群
3.3.6.1 计算集群与计算会话的关系
平台中的「计算集群」以 Flink Session 集群为管理对象。左侧菜单「数据开发 → 实时开发 → 计算集群」是一个分组入口,展开后包含两个页面:
| 页面 | 管理对象 | 主要用途 |
|---|---|---|
| 计算会话 | Flink Session 集群实例 | 创建、编辑、启停、重启、查看配置与日志、删除计算集群实例 |
| 资源中心 | 对象存储(S3)中的资源文件 | 创建、上传、编辑、重命名、下载与删除脚本、JAR、配置文件 |
左右滑动查看完整表格
「计算会话」的含义 计算会话不是资源用量查看页。列表中的每一行就是一个 Flink Session 计算集群实例,「创建计算会话」等同于在 Kubernetes 上拉起一套 Flink Session 集群,「停止计算会话」等同于释放这套集群。实时 SQL 任务能否启动,取决于是否存在可用的计算会话。 |
新建实例时填写的名称会由系统追加实例前缀,例如填写 flink-session-prod,列表中显示为 flink-5-25-flink-session-prod,其中 flink-5-25- 为该项目的实例前缀。列表中的所有实例都以该前缀开头。
计算会话只服务于实时 SQL 作业。两类实时作业对计算资源的使用方式不同:
| 作业类型 | 计算资源 | 与计算会话的关系 |
|---|---|---|
| Flink SQL | Flink Session 集群 | 新建或编辑任务时必须选择一个 Flink Session(必填项),作业提交到该集群内运行 |
| Flink JAR | Application(独立部署) | 作业自带 JobManager 与 TaskManager,不需要选择计算会话;仍需指定 K8s 数据源、命名空间与 Flink 根目录 |
左右滑动查看完整表格
3.3.6.2 页面入口与页面结构
进入方式:左侧菜单「数据开发」→「实时开发」→「计算集群」→「计算会话」。页面以标签页形式在顶部打开,与项目内其他页面并列,可随时切换。
| 区域 | 元素 | 说明 |
|---|---|---|
| 顶部筛选 | 实例名称 | 按实例名称查询,支持部分匹配;配合「重置」「查询」使用 |
| 列表标题 | Session | 列表区标题,右侧为「新建Session」与刷新、行高、列设置图标 |
| 列表 | 实例名称 / 引擎 / 命名空间 / 观测样本 / 状态 / 备注 / 更新时间 / 操作 | 每行一个计算集群实例,行尾为操作入口 |
| 分页 | 共 N 条、每页 20 条 | 默认每页 20 条,可切换页码 |
左右滑动查看完整表格
3.3.6.3 列表字段与实例状态
| 列 | 含义 | 说明 |
|---|---|---|
| 实例名称 | 集群实例的名称 | 由创建时填写的名称加上项目实例前缀构成 |
| 引擎 | 计算引擎类型 | 当前版本仅提供 Flink Session |
| 命名空间 | 实例所在的 Kubernetes 命名空间 | 创建后不可修改,列宽不足时以省略号显示 |
| 观测样本 | 实例的观测样本信息 | 尚未采集到样本时该列为空 |
| 状态 | 实例当前状态 | 运行中 / 已停止 / 创建中,见下表 |
| 备注 | 创建或编辑时填写的备注 | 未填写时显示「-」 |
| 更新时间 | 最近一次状态或配置变更的时间 | 停止、启动、编辑保存后都会刷新 |
左右滑动查看完整表格
| 状态 | 含义 | 此时可以做什么 |
|---|---|---|
| 运行中 | 集群已就绪,JobManager 与 TaskManager 正常运行 | 提交实时 SQL 任务、查看日志与配置、停止、重启、删除 |
| 创建中 | 已提交创建或启动,正在拉起集群资源 | 等待就绪;此时日志可能暂无节点,删除会被拒绝 |
| 已停止 | 集群已释放,实例及其配置保留 | 编辑配置、重新启动、删除 |
左右滑动查看完整表格
3.3.6.4 行内操作与可用条件
行尾提供七个操作入口。可用状态与实例当前状态直接相关,置灰的操作无法点击:
| 操作 | 运行中 | 已停止 | 作用 |
|---|---|---|---|
| 日志 | 可用 | 可用 | 打开日志弹窗,查看 JobManager 与 TaskManager 输出 |
| 查看配置 | 可用 | 可用 | 打开「实例配置」弹窗,查看概要与 Kubernetes 资源定义 |
| 编辑 | 置灰 | 可用 | 修改实例的运行参数与存储配置 |
| 停止 | 可用 | 置灰 | 释放集群资源,实例保留为「已停止」 |
| 启动 | 置灰 | 可用 | 按现有配置重新拉起集群 |
| 重启 | 可用 | 可用 | 重新拉起实例,用于恢复异常状态 |
| 删除 | 可用 | 可用 | 删除实例并清理集群内资源,不可恢复 |
左右滑动查看完整表格
编辑前先停止实例 实例处于「运行中」时,「编辑」按钮为置灰状态。需要修改配置时,先点击「停止」并在确认框中确认,待状态变为「已停止」后即可编辑;修改完成后点击「启动」恢复运行。 |
3.3.6.5 新建计算会话
新建计算会话即在当前项目下创建一套 Flink Session 集群。创建前请确认以下条件已满足,否则相关下拉列表为空、或保存后长时间停留在「创建中」。
- K8s 数据源已创建:计算会话通过 Kubernetes 部署实例,需先在数据源管理中创建 K8S 数据源。
- 命名空间可用:填写的命名空间需在目标集群中存在,或具备自动创建权限。
- 对象存储数据源已创建:S3 地址与凭据来自对象存储数据源,需已填写存储桶。
- 存储路径可读写:Flink 根目录所在的桶或路径需具备读写权限,保存时会校验并创建目录。
- 实例名称唯一:同一项目内实例名称不可重复。
操作步骤:
- 进入「计算会话」页面,点击列表右上方的「新建Session」。
- 在「新建Session」弹窗中填写实例名称,例如 flink-session-prod。
- 确认「引擎类型」为 Flink Session(当前版本仅此一项)。
- 在「K8s 集群」中选择已创建的数据源;在「命名空间」中填写实例部署的命名空间,例如 datasphere-dev。
- 在「对象存储数据源」中选择 S3 数据源,并填写「Flink 根目录」,例如 s3://datasphere-test/flink/。
- 按实际负载调整资源规格、Checkpoint 与动态扩缩容参数;不调整时保留默认值。
- 填写备注(可选),点击「保存」。
填写完成的窗口如下图所示,其中资源规格已按示例调整,自动扩缩容已关闭:
保存后的结果 点击「保存」后页面提示「已提交创建」,列表新增一条记录,状态为「创建中」;JobManager 与 TaskManager 就绪后状态变为「运行中」,此时才可被实时任务选用。创建过程需要数分钟,请勿重复提交。 |
创建中的实例不能删除 实例处于「创建中」时点击「删除」,会提示「Session仍存在但REST尚未就绪,无法确认运行作业,请稍后重试」。请等待实例就绪或联系平台管理员处理,不要反复提交创建。 |
3.3.6.6 配置字段说明
新建与编辑使用同一套字段,按用途分为六组。下表中的默认值为弹窗中预填的初始值。
| 字段 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| 实例名称 | 是 | — | 实例名称。保存后系统追加项目前缀,最终名称在列表中展示 |
| 引擎类型 | 是 | Flink Session | 计算引擎类型,当前版本固定为 Flink Session |
| K8s 集群 | 是 | — | 实例部署所用的 K8S 数据源,取自数据源管理;列表为空时需先创建 K8S 数据源 |
| 命名空间 | 是 | — | 实例在 Kubernetes 中的命名空间,如 datasphere-dev;创建后不可修改 |
| 对象存储数据源 | 是 | — | S3 地址与凭据的来源;列表为空时需先创建对象存储数据源并填写存储桶 |
| Flink 根目录 | 是 | — | 实例的存储根路径,支持桶根目录或桶内路径。checkpoint、savepoint、ha 按实例隔离,history 按租户项目共享;保存时校验存储权限并创建目录 |
| 备注 | 否 | — | 实例说明,显示在列表的「备注」列 |
左右滑动查看完整表格
| 字段 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| TaskManager Slot 数 | 否 | 4 | 每个 TaskManager 提供的 Slot 数量,决定单节点可并行承载的子任务数 |
| JobManager CPU | 否 | 1 | JobManager 的 CPU 配额(核) |
| JobManager 内存 | 否 | 1024m | JobManager 的内存配额,支持 m 等单位 |
| TaskManager CPU | 否 | 1 | 单个 TaskManager 的 CPU 配额(核) |
| TaskManager 内存 | 否 | 2048m | 单个 TaskManager 的内存配额 |
| 第三方 JAR(可选) | 否 | 空 | 实例启动时额外加载的 JAR,按 s3://存储桶/文件.jar 填写,多个用分号分隔 |
左右滑动查看完整表格
| 字段 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| Checkpoint 周期 | 否 | 60s | 两次 Checkpoint 之间的间隔;周期越短,故障恢复点越新,开销也越大 |
| Checkpoint 保留数量 | 否 | 3 | 最多保留的 Checkpoint 个数,超出后按时间淘汰最早的 |
| 取消后的 Checkpoint 保留策略 | 否 | 保留,可供后续恢复 | 作业取消后是否保留 Checkpoint,用于后续从检查点恢复 |
左右滑动查看完整表格
| 字段 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| 动态扩缩容(Autoscaler) | 否 | 开启 | 开启后按下方参数自动调整并行度;关闭后使用固定并行度 |
| 稳定窗口 | 否 | 3m | 扩缩容决策所需的指标稳定时间 |
| 指标采集窗口 | 否 | 3m | 计算利用率所采用的指标时间窗口 |
| 目标利用率 | 否 | 0.8 | 期望达到的资源利用率,低于该值时倾向于扩容 |
| 利用率边界 | 否 | 0.2 | 判定为需要缩容的下界 |
| 重启耗时预估 | 否 | 3m | 预估单次重启所需时间,参与扩缩容决策 |
| 追数耗时预估 | 否 | 3m | 预估积压数据的追赶时间,参与扩缩容决策 |
| 最小并行度 | 否 | 1 | 自动扩缩容的下限 |
| 最大并行度 | 否 | 2 | 自动扩缩容的上限,同时约束可用的 Slot 总量 |
左右滑动查看完整表格
资源规格与并行度的关系 可承载的子任务总量由 TaskManager 数量、每个 TaskManager 的 Slot 数决定,并受最大并行度约束。并行度上限大于实际可用的 Slot 总量时,作业会因资源不足而等待。调整前先确认集群资源余量。 |
3.3.6.7 编辑计算会话
编辑用于调整已创建实例的运行参数与存储配置,不改变实例的身份信息。
- 在「计算会话」列表中定位目标实例,确认其状态为「已停止」;若为「运行中」,先点击「停止」并确认。
- 点击行尾「编辑」,打开「编辑Session」弹窗,窗口回填当前配置。
- 修改允许调整的字段,例如资源规格、Checkpoint 周期、动态扩缩容参数、备注。
- 点击「保存」,弹窗关闭,列表中的更新时间刷新。
- 点击「启动」,按新配置重新拉起实例。
弹窗中哪些字段可以修改,取决于它是否构成实例的身份信息:
| 字段 | 编辑时是否可改 | 说明 |
|---|---|---|
| 实例名称 | 不可改 | 以灰色显示,实例身份不可变更 |
| 引擎类型 | 不可改 | 固定为 Flink Session |
| 命名空间 | 不可改 | 实例所在的命名空间不可迁移 |
| K8s 集群、对象存储数据源、Flink 根目录 | 可改 | 更换存储或集群后,新配置在实例下次启动时生效 |
| 资源规格、Checkpoint、动态扩缩容、备注 | 可改 | 按业务负载调整 |
左右滑动查看完整表格
3.3.6.8 启动、停止与重启
三个操作都会弹出二次确认框,确认后立即下发,列表状态随之变化。
- 停止:在「运行中」的实例行点击「停止」→ 确认框提示「确认停止「实例名」?请先停止 Session 内运行的任务。」→ 点击「确定」,状态变为「已停止」。
- 启动:在「已停止」的实例行点击「启动」→ 确认框提示「确认启动「实例名」?」→ 点击「确定」,状态先变为「创建中」,就绪后变为「运行中」。
- 重启:点击「重启」→ 确认框提示「确认重启 Session「实例名」?请先停止 Session 内运行的任务。」→ 点击「确定」,实例重新拉起。
| 操作 | 可用状态 | 结果 |
|---|---|---|
| 停止 | 运行中 | 释放集群资源,状态变为「已停止」;实例内的实时任务会随之中断 |
| 启动 | 已停止 | 重新拉起集群,状态先为「创建中」,就绪后变为「运行中」 |
| 重启 | 运行中 / 已停止 | 重新拉起实例,常用于实例异常或配置变更后 |
左右滑动查看完整表格
停止与重启前先处理 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 等资源,操作不可恢复。
- 确认实例内的实时任务已停止;实例处于「运行中」时建议先「停止」。
- 点击行尾「删除」,弹出确认框「确认删除「实例名」?请先停止 Session 内运行的任务。将同时清理集群内资源。」
- 核对实例名称后点击「确定」,实例从列表中移除。
删除前必须确认的两件事 一是实例内没有仍在运行的作业,否则作业会随集群一起失败;二是实例不处于「创建中」,创建中的实例会因 REST 未就绪而拒绝删除。删除后实例配置与集群资源一并清理,无法恢复。 |
3.3.6.11 注意事项
- 一个计算会话可被多个实时 SQL 任务共用,任务之间互相影响;重要作业建议使用独立实例。
- 实例名称创建后不可修改,命名时体现用途与归属,例如 flink-session-prod。
- 命名空间创建后不可修改,跨命名空间迁移需新建实例。
- 资源规格调整后需重启实例才会作用到运行中的集群。
- 删除实例不会删除对象存储中的 checkpoint、savepoint 等文件,需要时在存储侧单独清理。
- 实时 JAR 作业不依赖计算会话,无需为 JAR 作业单独创建 Session。