跳到主要内容
版本: Dev

集群管理

提示

在 Dinky 中,将 Flink 运行模式拆分为了 Flink实例集群配置 两个概念。请按需选择使用。

如果您不清楚 Flink 各个运行模式的区别,请参考 Flink 官方文档

Flink实例

Flink实例是指已经启动的 Flink 集群

Flink实例仅可以注册模式为 Local, Standalone, Yarn Session, Kubernetes Session 的 Flink 实例

注意
  1. 在 Flink 实例中,仅可以注册模式为 Local, Standalone, Yarn Session, Kubernetes Session 的 Flink 实例
  2. 在 Flink 实例中,区分了自动注册和手动注册两种方式,手动启动的 Flink 实例需要手动注册, 由集群配置/application模式 任务启动后的 Flink 实例会自动注册
  3. 自动注册的集群无需关心注册过多的情况, 系统会定时清理过期的 自动注册的 Flink 实例,手动注册的无影响
  4. 手动注册的集群需要手动管理 Flink 实例, 如需删除 Flink 实例,请鼠标悬浮某一 Flink 实例,点击删除按钮即可删除 Flink 实例
  5. 提供手动进行心跳检测
  6. 所有Flink 实例删除前会进行引用检测,如果有引用,则无法删除(此为避免实际运行中的任务关联到该Flink 实例,从而导致一系列问题)
  7. 手动注册的集群可以直接删除(前提是未被使用),如果自动注册的集群如果状态为健康需要先停止 Flink 实例,然后再删除 Flink 实例.

如需查看 自动注册 和 手动注册 下的 Flink 实例,请点击切换按钮进行查看

手动注册

cluster_instance_m_list

自动注册

cluster_instance_a_list

参数解读

参数说明是否必填默认值示例值
集群名称集群名称, 用于区分不同集群flink-session
集群别名集群别名, 用于区分不同集群, 如不填默认同集群名称同集群名称flink-session
集群类型集群类型, 目前支持 Local, Standalone, Yarn Session, Kubernetes SessionStandalone
JobManager 高可用地址添加 Flink 集群的 JobManager 的 RestApi 地址。当 HA 模式时,地址间用英文逗号分隔,例如:192.168.123.101:8081
备注备注, 用于备注集群信息flink-session

集群配置

集群配置是指 预先定义的 Flink 集群配置, 用于提交 Flink 作业时,会自动启动 Flink 集群

集群配置仅可以注册模式为 Yarn Per-Job, Yarn Application, Kubernetes Application 的 Flink 实例

注意
  1. 在集群配置中,仅可以注册模式为 Yarn(可用于Yarn Per-Job, Yarn Application),Kubernetes Native,Kubernetes Operator的 Flink 配置
  2. 在此模式中支持可以以配置方式 启动一个 YarnSession/KubernetesSession 的 Flink实例, 启动成功后,会自动注册到 Flink实例
  3. 支持手动心跳检测
  4. 所有集群配置删除前会进行引用检测,如果有引用,则无法删除(此为避免实际运行中的任务关联到该Flink 配置,从而导致一系列问题)

注意: 在集群配置中,如果使用Yarn 模式,需要有 Hadoop 与 Flink 集成的 jar 包,如果使用Kubernetes 模式,需要有Flink运行时的jar包,否则会导致启动失败,如遇到依赖加载问题,请查看详细日志进行排查

集群配置列表

cluster_config_list

参数解读

  • 基本配置-公共配置
参数说明是否必填默认值示例值
类型集群类型, 目前支持 Yarn, Kubernetes Native,Kubernetes OperatorYarn
集群配置名称集群配置名称, 用于区分不同集群配置flink-yarn
备注描述信息
是否启用标志是否启用该集群配置,如果不启用,则该集群配置不会在数据开发集群列表下拉框中显示
  • 提交 FlinkSQL 配置项 (Application 模式必填)-公共配置
参数说明是否必填默认值示例值
Jar 文件路径指定 Jar 文件路径,如果该集群配置用于提交 Application 模式任务时 则必填
需要包含以下文件:dinky-app-{version}-jar-with-dependencies.jar
Yarn 模式下此参数可以设置为: hdfs:///dinky/dinky-app-1.17-with-dependencies.jar 或者 rs:/dinky/dinky-app-1.17-with-dependencies.jar
如果设置为 rs:/ 协议,则需要将该jar包上传到 Dinky 的资源中心中,然后填写该路径。
K8s 模式下仅支持 local:// 协议
hdfs:///dinky/dinky-app-1.16-1.0.0-SNAPSHOT-jar-with-dependencies.jar
请注意: 如果使用 Kubernetes 模式,路径需要指定为: local:///dinky/dinky-app-1.16-1.0.0-SNAPSHOT-jar-with-dependencies.jar
  • Flink 预设配置(高优先级)-公共配置
参数说明是否必填默认值示例值
JobManager 内存JobManager 内存大小!1g
TaskManager 内存TaskManager 内存大小!1g
TaskManager 堆内存TaskManager 堆内存大小!1g
插槽数插槽数量2
保存点路径对应SavePoint目录hdfs:///flink/savepoint
检查点路径对应CheckPoint目录hdfs:///flink/checkpoint

Yarn 模式

  • Hadoop 配置
参数说明是否必填默认值示例值
Hadoop 配置文件路径指定配置文件路径(末尾无/),需要包含以下文件:core-site.xml,hdfs-site.xml,yarn-site.xml !
Hadoop 自定义配置(高优先级)Hadoop 的其他参数配置
  • Flink 配置
参数说明是否必填默认值示例值
Flink Lib 路径指定 lib 的 hdfs 路径(末尾无/),需要包含 Flink 运行时的依赖!hdfs:///flink/lib
Flink 配置文件路径仅指定到文件夹,dinky会自行读取文件夹下的配置文件,k8s模式下此参数可选填/opt/flink/conf
Flink 自定义配置(高优先级)Flink 的其他参数配置

Kubernetes Native 模式

  • Kubernetes 配置
参数说明是否必填默认值示例值
暴露端口类型指定暴露端口类型, 目前支持 NodePort, ClusterIPNodePort
Kubernetes 命名空间指定 Kubernetes 命名空间flink
Kubernetes 提交账号指定 Kubernetes 提交账号flink
Flink 镜像地址指定 Flink 镜像地址flink:1.16.0
JobManager CPU 配置指定 JobManager CPU 配置1000m
TaskManager CPU 配置指定 TaskManager CPU 配置1000m
Flink 配置文件路径仅指定到文件夹,dinky会自行读取文件夹下的配置文件,k8s模式下此参数可选填/opt/flink/conf
自定义配置Flink 的其他参数配置
K8s KubeConfig指定 K8s KubeConfig,支持从本地上传并加载
Default Pod Template指定 Default Pod Template,支持从本地上传并加载
JM Pod Template指定 JobManager Pod Template,支持从本地上传并加载
TM Pod Template指定 TaskManager Pod Template,支持从本地上传并加载

Kubernetes Operator 模式

  • Kubernetes 配置

注意: 与 Kubernetes Native 模式不同的是, Kubernetes Operator 模式下, 需要指定 Flink 版本而不需要指定暴露端口类型, 其他配置项都一致,以下仅列出不同的配置项

参数说明是否必填默认值示例值
Flink 版本指定 Flink 版本,支持 Flink1.15 - Flink1.181.16.0