From eae85bd23d9ce0883721284f7140484a5a88cc5e Mon Sep 17 00:00:00 2001 From: xiaolin84250 Date: Fri, 22 Dec 2023 09:57:10 +0800 Subject: [PATCH] Update Dinky 1.0 job and environment documents, and optimize related documents (#2698) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * k8s install Tutorial * Create Dinky_integrated_Flink_on_K8s.md Create Dinky_integrated_Flink_on_K8s.md * Update dinky_k8s_quick_install.md 修正了注意事项里的Dockerfile打包语句,之前文档漏写了命令 * Create job_config_submit.md Dinky文档重构与 Q&A文档建设 ,环境、作业基础配置、作业提交三合一,并相关文档优化; * Delete docs/docs/administrator_guide/studio/env_config.md 环境、作业基础配置、作业提交三合一,并相关文档优化; * Delete docs/docs/administrator_guide/studio/job_config.md 环境、作业基础配置、作业提交三合一,并相关文档优化; * Delete docs/docs/administrator_guide/studio/job_hosting.md 环境、作业基础配置、作业提交三合一,并相关文档优化; * Delete docs/docs/administrator_guide/studio/job_submit.md 环境、作业基础配置、作业提交三合一,并相关文档优化; * Update job_config_submit.md 环境、作业基础配置、作业提交三合一,并相关文档优化; * Update dinky_k8s_quick_install.md Update image url * Update image url Update image url * Update dinky_k8s_quick_install.md Update image url --- .../administrator_guide/studio/env_config.md | 60 --- .../administrator_guide/studio/job_config.md | 52 --- .../studio/job_config_submit.md | 341 ++++++++++++++++++ .../administrator_guide/studio/job_hosting.md | 117 ------ .../administrator_guide/studio/job_submit.md | 49 --- .../Dinky_integrated_Flink_on_K8s.md | 118 +++--- .../k8s_guide/dinky_k8s_quick_install.md | 16 +- 7 files changed, 408 insertions(+), 345 deletions(-) delete mode 100644 docs/docs/administrator_guide/studio/env_config.md delete mode 100644 docs/docs/administrator_guide/studio/job_config.md create mode 100644 docs/docs/administrator_guide/studio/job_config_submit.md delete mode 100644 docs/docs/administrator_guide/studio/job_hosting.md delete mode 100644 docs/docs/administrator_guide/studio/job_submit.md diff --git a/docs/docs/administrator_guide/studio/env_config.md b/docs/docs/administrator_guide/studio/env_config.md deleted file mode 100644 index 8d971ba771..0000000000 --- a/docs/docs/administrator_guide/studio/env_config.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -sidebar_position: 2 -id: env_config -title: 环境配置 ---- - - - - -## Flink 环境配置 - -### Local - -只需要在 Dinky 根目录下的 plugins 文件夹下添加 Flink lib 与 connector 等 Jar 即可。 - -### Standalone 集群 - -根据 Flink 官网手动部署一个 Flink Standalone 集群,并注册到 **集群实例** 中。 - -如何注册 Standalone 集群,详见[集群管理](../register_center/cluster_manage) 的集群实例管理。 - -### Yarn Session 集群 - -根据 Flink 官网手动部署一个 Flink Yarn Session 集群,并注册到 **集群实例** 中。 - -如何注册 Yarn Session 集群,详见[集群管理](../register_center/cluster_manage)的集群实例管理。 - -### Yarn Per-Job 集群 - -在 **注册中心 > 集群管理 > 集群配置管理** 中注册 Hadoop 与 Flink 相关配置。 - -如何注册 Yarn Per-Job 的集群配置,详见[集群管理](../register_center/cluster_manage) 的集群配置管理。 - -### Yarn Application 集群 - -1.在 **注册中心 > 集群管理 > 集群配置管理** 中注册 Hadoop 与 Flink 相关配置; - -2.将 dlink-app.jar 上传到 **系统设置 > Flink 设置** 中的 **提交 FlinkSQL 的 Jar 文件路径** 的 hdfs 配置地址。 - -如何注册 Yarn Application 的集群配置,详见[集群管理](../register_center/cluster_manage) 的集群配置管理。 - -### Kubernetes Session 集群 - -根据 Flink 官网手动部署一个 Flink Kubernetes Session 集群,并暴露 **NodePort**, 注册到 **集群实例** 中。 - -如何注册 Kubernetes Session 集群, 详见[集群管理](../register_center/cluster_manage) 的集群实例管理。 - -### Kubernetes Application 集群 - -1.在 **注册中心 > 集群管理 > 集群配置管理** 中注册 Kubernetes 与 Flink 相关配置; - -2.将 dlink-app.jar 打包成完整的 Flink 镜像,在 **系统设置 > Flink 设置** 中的 **提交 FlinkSQL 的 Jar 文件路径** 的配置 dlink-app.jar 的 local 地址。 - -如何注册 Kubernetes Application 的集群配置,详见[集群管理](../register_center/cluster_manage) 的集群配置管理。 - -## 其他数据源环境配置 - -手动部署外部数据源,然后注册到 **数据源管理** 。 - -如何注册外部数据源,详见[数据源管理](../register_center/datasource_manage)。当前 Dinky 支持的数据源详见功能扩展中的[扩展数据源](../../extend/function_expansion/datasource) \ No newline at end of file diff --git a/docs/docs/administrator_guide/studio/job_config.md b/docs/docs/administrator_guide/studio/job_config.md deleted file mode 100644 index d296b83115..0000000000 --- a/docs/docs/administrator_guide/studio/job_config.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -sidebar_position: 2 -id: job_config -title: 作业基础配置 ---- - -Dinky 使用 Flink 社区开源版本,也完全兼容企业二次开发的 Flink 版本。本文介绍如何配置 Flink 的作业。 - -## 作业配置 - -FlinkSQL 作业配置,您可以根据具体需求配置参数,参数设置如下 - -| 类型 | 配置项 | 备注 | -| :------: | :------------: |:------------------------------------------------------------------------------------------------------------------------| -| 作业配置 | 执行模式 | 指定 FlinkSQL 的执行模式,默认为local | -| 作业配置 | Flink集群 | 此参数依据执行模式选择需要的集群实例或者集群配置 | -| 作业配置 | 作业名称 | 默认作业名,作业名称在当前项目中必须保持 **唯一** | -| 作业配置 | FlinkSQL 环境 | 选择当前 FlinkSQL 执行环境,会提前执行环境语句,默认无 | -| 作业配置 | 任务并行度 | 设置Flink任务的并行度,默认为 1 | -| 作业配置 | Insert 语句集 | 默认禁用,开启语句集机制,将多个 Insert 语句合并成一个JobGraph
进行提交,select 语句无效 | -| 作业配置 | 全局变量 | 默认禁用,开启 FlinkSQL 全局变量,以“${}”进行调用 | -| 作业配置 | 批模式 | 默认禁用,开启后启用 Batch Mode | -| 作业配置 | SavePoint 策略 | 默认禁用,策略包括:
**最近一次**
**最早一次**
**指定一次** | -| 作业配置 | 报警组 | 报警组配置详见[报警管理](../register_center/warning) | -| 作业配置 | 其他配置 | 其他的 Flink 作业配置,具体可选参数,详见[Flink 官网](https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/deployment/config/) | - -:::tip 说明 - - FlinkSQL 执行模式除 local 外,还包括Standalone、Yarn Session、Yarn Per-Job、Yarn Application、Kubernetes Session、Kubernetes Application - -::: - -## 执行配置 - -另外 Dinky 提供了针对 FlinkSQL 查询预览的配置,,参数设置如下 - -| 类型 | 配置项 | 备注 | -| :------: | :------: | :----------------------------------------------------------: | -| 执行配置 | 预览结果 | 默认开启,开启预览结果将同步运行并返回数据结果 | -| 执行配置 | 打印流 | 默认禁用,开启打印流将同步运行并返回含有**op**字段信息的 ChangeLog
默认不开启则返回最终结果 | -| 执行配置 | 最大行数 | 预览数据的最大行数,默认100 | -| 执行配置 | 自动停止 | 默认禁用,开启自动停止将在捕获最大行记录数后自动停止 | - -## 保存点 - -Dinky 提供 FlinkSQL 在通过 **cancel** 作业停止时,自动保存**savepoint**。并生成一个保存 savepoint 的创建时间。 - -:::tip 说明 - -​ 此保存点必须通过 **Flink Cancel** 完成 - -::: diff --git a/docs/docs/administrator_guide/studio/job_config_submit.md b/docs/docs/administrator_guide/studio/job_config_submit.md new file mode 100644 index 0000000000..74ce33681f --- /dev/null +++ b/docs/docs/administrator_guide/studio/job_config_submit.md @@ -0,0 +1,341 @@ +--- +sidebar_position: 1 +id: job_config_submit +title: 作业与环境管理 +--- + +## 作业相关配置 + +### 作业类型 + +:::tip 说明 + +在创建作业时,有三种Flink Job Type,分别为:`FlinkSql`、`FlinkJar`、`FlinkSqlEnv`,下方介绍三种作业类型的作用 + +::: + +![image-20231220140415854](http://www.aiwenmo.com/dinky/docs/test/202312201404899.png) + +#### FlinkSql作业类型 + +此作业类型用于**开发FlinkSQL作业**,并能够对作业进行相关配置,如保存点结束/恢复运行,历史版本控制等,提交至外部集群运行。 + +![image-20231220140531477](http://www.aiwenmo.com/dinky/docs/test/202312201405535.png) + +#### FlinkJar作业类型 + +此作业用于**执行jar包**,可携带参数进行提交运行,可通过dinky对jar作业进行管理 + +![image-20231220140911995](http://www.aiwenmo.com/dinky/docs/test/202312201409057.png) + +#### FlinkSqlEnv作业类型 + +此作业是用于**创建catalog**,便于在执行FlinkSQL作业时对FLinkSQL环境进行选择 + +![image-20231220141323767](http://www.aiwenmo.com/dinky/docs/test/202312201413831.png) + +可在此处对FlinkSqlEnv作业创建的catalog进行选择 + +![image-20231220141416725](http://www.aiwenmo.com/dinky/docs/test/202312201414788.png) + +### 作业配置 + +:::tip 说明 + +在创建作业后,可在右侧进行作业配置,配置项解释见下方 + +::: + +![image-20231220112839608](http://www.aiwenmo.com/dinky/docs/test/202312201128666.png) + +FlinkSQL 作业配置,您可以根据具体需求配置参数,参数设置如下 + +| 类型 | 配置项 | 备注 | +| :------: | :------------: | :----------------------------------------------------------- | +| 作业配置 | 执行模式 | 指定 FlinkSQL 的执行模式,默认为local | +| 作业配置 | Flink集群 | 此参数依据执行模式选择需要的集群实例或者集群配置 | +| 作业配置 | 作业名称 | 默认作业名,作业名称在当前项目中必须保持 **唯一** | +| 作业配置 | FlinkSQL 环境 | 选择当前 FlinkSQL 执行环境,会提前执行环境语句,默认无 | +| 作业配置 | 任务并行度 | 设置Flink任务的并行度,默认为 1 | +| 作业配置 | Insert 语句集 | 默认禁用,开启语句集机制,将多个 Insert 语句合并成一个JobGraph
进行提交,select 语句无效 | +| 作业配置 | 全局变量 | 默认禁用,开启 FlinkSQL 全局变量,以“${}”进行调用 | +| 作业配置 | 批模式 | 默认禁用,开启后启用 Batch Mode | +| 作业配置 | SavePoint 策略 | 默认禁用,策略包括:
**最近一次**
**最早一次**
**指定一次** | +| 作业配置 | 报警组 | 报警组配置详见[报警管理](../register_center/warning) | +| 作业配置 | 其他配置 | 其他的 Flink 作业配置,具体可选参数,详见[Flink 官网](https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/deployment/config/) | + +:::tip 说明 + +FlinkSQL 执行模式除 local 外,还包括Standalone、Yarn Session、Yarn Per-Job、Yarn Application、Kubernetes Session、Kubernetes Application、Kubenetes Operator + +::: + +### 预览配置 + +:::tip 说明 + +在创建作业后,可在右侧进行预览配置,若作业是查询结果,在作业运行后可在左下方进行结果预览,配置项解释见下方 + +::: + +![image-20231220114031011](http://www.aiwenmo.com/dinky/docs/test/202312201140092.png) + + + +另外 Dinky 提供了针对 FlinkSQL 查询预览的配置,,参数设置如下 + +| 类型 | 配置项 | 备注 | +| :------: | :------: | :----------------------------------------------------------: | +| 执行配置 | 预览结果 | 默认开启,开启预览结果将同步运行并返回数据结果 | +| 执行配置 | 打印流 | 默认禁用,开启打印流将同步运行并返回含有**op**字段信息的 ChangeLog
默认不开启则返回最终结果 | +| 执行配置 | 最大行数 | 预览数据的最大行数,默认100 | +| 执行配置 | 自动停止 | 默认禁用,开启自动停止将在捕获最大行记录数后自动停止 | + +### 保存点配置 + +:::tip 说明 + +​ Dinky 提供 FlinkSQL 在通过 **cancel** 作业停止时,自动保存**savepoint**。并生成一个保存 savepoint 的创建时间。此保存点必须通过 **Flink Cancel** 完成。保存点结束方式在运维中心的作业中,通过Saveponit结束,需要提前配置保存点。 + +::: + +![image-20231220114448998](http://www.aiwenmo.com/dinky/docs/test/202312201144048.png) + + + +### 历史版本配置 + +:::tip 说明 + +在创建作业后,编写完作业代码,在发布-上下线后即可在右侧历史版本处查看并切换历史版本 + +::: + +![image-20231220134050332](http://www.aiwenmo.com/dinky/docs/test/202312201340401.png) + +单机历史版本即可查看当前版本与所选版本的代码差异 + +![image-20231220134119789](http://www.aiwenmo.com/dinky/docs/test/202312201341853.png) + +可点击此处回滚版本 + +![image-20231220134324847](http://www.aiwenmo.com/dinky/docs/test/202312201343903.png) + +## 环境相关配置 + +### 前置说明 + +> 需要注意,如果使用额外依赖包,如:`mysql-cdc-connector`,那么此依赖需要添加一份到勾选提交作业运行模式的`flink/lib`下,并且需要在`dinky/plugins/flink版本号/`下也添加一份,添加完成后重启dinky和flink集群。另外一种方式是通过dinky的`add jar`语法,详细用法见dinky官网 + +### Local 本地执行模式 + +:::tip 特点 + +Dinky 内置的 Flink MiniCluster,资源受限,用于语法校验等操作。 + +需要注意,Local模式流任务的作业无法关闭,如果提交了,需要重启Dinky + +**特点:** 不需要外部 Flink 集群,资源受限。 + +**适用于:** 语法校验、查看 JobPlan、查看字段级血缘、执行资源占用非常小的批作业。 + +::: + +Local环境运行需要在dinky的安装目录下`plugins/flink 版本号`中添加对应版本需要使用的jar依赖,可以将本地flink安装目录lib下的所有内容复制一份到此目录下,如下图。 + +![image-20231116092612440](http://www.aiwenmo.com/dinky/docs/test/202311160926573.png) + +相关依赖添加完成后在作业配置处的`执行模式`中,勾选`Local模式`,即可使用。 + +![image-20231116091702701](http://www.aiwenmo.com/dinky/docs/test/202311160917749.png) + + + +### Standalone 执行模式 + +:::tip 特点 + +与外部 Standalone 集群共享资源,用于批操作和小流量任务。 + +Dinky 将通过 JobManager 的 Rest 端口提交 FlinkSQL 作业至外部的 Flink Standalone 集群。 + +**特点:** 作业资源共享,启动快,不依赖 Yarn 或 K8S。 + +**适用于:** 批作业、Flink OLAP 查询、资源占用小的流作业。 + +::: + +自行根据Flink官网教程部署一个Standalone模式,并将地址其添加到`注册中心-Flink实例`中。 + +![image-20231116092905314](http://www.aiwenmo.com/dinky/docs/test/202311160929362.png) + +相关依赖添加完成后,在作业配置处的`执行模式`中,勾选`standalone模式`,并且在下方的`flink集群`选项框中勾选上方添加的集群,即可使用。 + +![image-20231116093642228](http://www.aiwenmo.com/dinky/docs/test/202311160936280.png) + +### Yarn Session 执行模式 + +:::tip 特点 + +与外部 Yarn Session 集群共享资源,用于批操作和小流量任务。 + +Dinky 将通过 JobManager 的 Rest 端口提交 FlinkSQL 作业至外部的 Flink Yarn Session 集群。 + +**特点:** 作业资源共享,启动快。 + +**适用于:** 作业资源共享,启动快,批作业、Flink OLAP 查询、资源占用小的流作业。 + +::: + +自行根据Flink官网教程部署一个 `Flink Yarn Session`模式,并将地址其添加到`注册中心-Flink实例`中。 + +![image-20231116095708329](http://www.aiwenmo.com/dinky/docs/test/202311160957398.png) + +相关依赖添加完成后,在作业配置处的`执行模式`中,勾选`yarn session模式`,并且在下方的`flink集群`选项框中勾选上方添加的集群,即可使用。 + +![image-20231116095621922](http://www.aiwenmo.com/dinky/docs/test/202311160956970.png) + +### Yarn Per-Job 执行模式 + +:::tip 特点 + +每个 JobGraph 创建一个集群,资源隔离,用于资源占用大的任务。 + +Dinky 将通过 Yarn 来创建 Flink Yarn Per-Job 集群。 + +**特点:** 作业资源隔离,启动慢,每个 JobGraph 创建一个集群。 + +**适用于:** 资源占用较多的批作业和流作业。 + +::: + +在 `注册中心-集群配置` 中注册 Hadoop 与 Flink 相关配置,具体配置过程见[集群管理](../register_center/cluster_manage) 的集群配置管理。 + +![image-20231116100208363](http://www.aiwenmo.com/dinky/docs/test/202311161002408.png) + +在配置完成后并且相关依赖添加完成后,在作业配置处的`执行模式`中,勾选`yarn per-job模式`,并且在下方的`flink集群`选项框中勾选上方添加的集群,即可使用。 + +![image-20231116100506987](http://www.aiwenmo.com/dinky/docs/test/202311161005023.png) + +### Yarn Application 执行模式 + +:::tip 特点 + +所有 JobGraph 共享一个集群,资源隔离,节约网络资源。 + +Dinky 将通过 Yarn 来创建 Flink Yarn Application 集群。 + +**特点:** 作业资源隔离,启动慢,节约网络资源,所有 JobGraph 只创建一个集群。 + +**适用于:** 资源占用较多的批作业和流作业。 + +::: + +在 `注册中心-集群配置` 中注册 Hadoop 与 Flink 相关配置,具体配置过程详见[集群管理](../register_center/cluster_manage) 的集群配置管理。 + +![](http://www.aiwenmo.com/dinky/docs/test/202312201032576.png) + +将 `/dinky根目录/jar/dinky-app-版本号-xxx-with-dependencies.jar` 上传到 **配置中心 > 全局配置 > Resource 配置** 中对应文件系统的路径中。 + +- HDFS + +![](http://www.aiwenmo.com/dinky/docs/test/202312201034498.png) + +- OSS + +![](http://www.aiwenmo.com/dinky/docs/test/202312201035898.png) + +### Kubernetes Session 执行模式 + +:::tip 特点 + +与外部 Kubernetes Session 集群共享资源,动态扩容。 + +Dinky 将通过暴露的 NodePort 端口提交 FlinkSQL 作业至外部的 Flink Kubernetes Session 集群。 + +**特点:** 作业资源隔离,启动快,动态扩容。 + +**适用于:** 作业资源隔离,启动快,动态扩容,批作业、Flink OLAP 查询、资源占用小的流作业。 + +::: + +根据 Flink 官网手动部署一个 Flink Kubernetes Session 集群,并暴露 **NodePort **端口, 注册到 **集群实例** 中 + +![](http://www.aiwenmo.com/dinky/docs/test/202312201036450.png) + +注册完成后,在创建作业后可在右侧作业配置处进行勾选执行模式 + +![](http://www.aiwenmo.com/dinky/docs/test/202312201036304.png) + +### Kubernetes Application 执行模式 + +:::tip 特点 + +每个 JobGraph 创建一个 Pod,资源隔离,动态扩容。 + +**特点:** 作业资源隔离,启动慢,动态扩容,节约网络资源,所有 JobGraph 只创建一个集群。 + +**适用于:** 作业资源隔离,启动慢,动态扩容,节约网络资源,资源占用较多的批作业和流作业。 + +::: + +在 **注册中心 > 集群管理 > 集群配置管理** 中注册 Kubernetes Native类型 + +![image-20231220103914938](http://www.aiwenmo.com/dinky/docs/test/202312201039000.png) + +将 `/dinky根目录/jar/dinky-app-版本号-xxx-with-dependencies.jar` 打包添加到对应版本的Flink镜像中lib目录下,并且如果是非本地部署(如docker,k8s部署的dinky),需要把`~/.kube/config`拷贝进容器,物理机部署默认读取的是此路径下k8s配置。配置完成后即可创建作业后在作业配置处勾选此模式,此模式为单个任务为一个集群实例。 + +![image-20231220104551759](http://www.aiwenmo.com/dinky/docs/test/202312201045824.png) + +具体如何注册 Kubernetes Application 的集群配置,详见[集群管理](http://localhost:3000/docs/next/administrator_guide/register_center/cluster_manage) 的集群配置管理。 + +### Kubernetes Operator 执行模式 + +:::tip 特点 + +使用 Kubernetes Operator 对 Flink 集群进行管理,可以实现集群的动态伸缩。 + +**特点:** 自动化管理,Operator 可以自动化管理应用程序的生命周期和运维任务;高度可扩展,Operator 允许开发者扩展 Kubernetes 的功能,以适应特定应用程序或工作负载的需求;智能决策和自愈能力,Operator 可以通过监视和分析应用程序的状态,做出智能决策以确保应用程序的健康和高可用性;自定义资源定义(CRD),Operator 使用自定义资源定义(CRD)来扩展 Kubernetes API,以支持新的自定义资源类型。 + +**适用于:** 作业资源隔离,启动慢,动态扩容,节约网络资源,资源占用较多的批作业和流作业。 + +::: + +在 **注册中心 > 集群管理 > 集群配置管理** 中注册 Kubernetes Opeartor类型 + +![image-20231220110234858](http://www.aiwenmo.com/dinky/docs/test/202312201102913.png) + +如何注册 Kubernetes Application 的集群配置,详见[集群管理](http://www.dlink.top/docs/next/administrator_guide/register_center/cluster_manage) 的集群配置管理。 + +## 作业提交 + +本章节为您介绍如何提交 FlinkSQL 作业至集群。Dinky 提供了三种提交作业的方式,分别是: + +- 调试当前作业 +- 运行当前作业 +- 上线下线发布 + +各提交作业的支持的执行模式及说明如下 + +| SQL类型 | 提交方式 | 执行模式 | 说明 | +| :------: | :----------: | :----------------------------------------------------------: | :---------------------------------------------------------- | +| FlinkSQL | 调试当前作业 | local
Standalone
Yarn Session
Kubernetes Session | 适用场景:`调试作业` | +| FlinkSQL | 运行当前作业 | Standalone
Yarn Session
Yarn Per-job
Yarn Application
Kubernetes Session
Kubernetes Application
Kubernetes Operator
| 适用场景:`远程提交作业至集群` | +| FlinkSQL | 上线下线发布 | Standalone
Yarn Session
Yarn Per-job
Yarn Application
Kubernetes Session
Kubernetes Application
Kubernetes Operator
| 适用场景:
1.`远程发布作业至集群`
2.`维护及监控作业` | + +#### 调试当前SQL + +![image-20231220142013475](http://www.aiwenmo.com/dinky/docs/test/202312201420534.png) + +#### 执行当前SQL + +![image-20231220142100063](http://www.aiwenmo.com/dinky/docs/test/202312201421115.png) + +#### 上线下线发布 + +![image-20231220142222119](http://www.aiwenmo.com/dinky/docs/test/202312201422171.png) + + + + + diff --git a/docs/docs/administrator_guide/studio/job_hosting.md b/docs/docs/administrator_guide/studio/job_hosting.md deleted file mode 100644 index 713c390e04..0000000000 --- a/docs/docs/administrator_guide/studio/job_hosting.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -sidebar_position: 1 -id: job_hosting -title: 作业概述 ---- - - - - -Dinky 做为一站式的实时计算平台,可以托管 Flink 和数据库的作业。 - -## FlinkSQL - -### Local - -Dinky 内置的 Flink MiniCluster,如果提交任务至 Local 模式则将在 Dinky 内部运行该作业。 - -**特点:** 不需要外部 Flink 集群,资源受限。 - -**适用于:** 语法校验、查看 JobPlan、查看字段级血缘、执行资源占用非常小的批作业。 - -:::warning 注意事项 - - 请不要提交流任务至 Local,如果提交了,你将无法关闭它,只能重启 Dinky。 - -::: - -### Standalone - -Dinky 将通过 JobManager 的 Rest 端口提交 FlinkSQL 作业至外部的 Flink Standalone 集群。 - -**特点:** 作业资源共享,启动快,不依赖 Yarn 或 K8S。 - -**适用于:** 批作业、Flink OLAP 查询、资源占用小的流作业。 - -### Yarn Session - -Dinky 将通过 JobManager 的 Rest 端口提交 FlinkSQL 作业至外部的 Flink Yarn Session 集群。 - -**特点:** 作业资源共享,启动快。 - -**适用于:** 作业资源共享,启动快,批作业、Flink OLAP 查询、资源占用小的流作业。 - -:::tip 说明 - - 需要手动启动 Yarn Session 集群并注册到 Dinky 的集群实例,详见[集群管理](../register_center/cluster_manage)。 - -::: - -### Yarn Per-Job - -Dinky 将通过 Yarn 来创建 Flink Yarn Per-Job 集群。 - -**特点:** 作业资源隔离,启动慢,每个 JobGraph 创建一个集群。 - -**适用于:** 资源占用较多的批作业和流作业。 - -:::tip 说明 - - 需要在 Dinky 的集群配置中注册相关的 Hadoop 和 Flink 配置,详见[集群管理](../register_center/cluster_manage)。 - -::: - -### Yarn Application - -Dinky 将通过 Yarn 来创建 Flink Yarn Application 集群。 - -**特点:** 作业资源隔离,启动慢,节约网络资源,所有 JobGraph 只创建一个集群。 - -**适用于:** 资源占用较多的批作业和流作业。 - -:::tip 说明 - - 需要在 Dinky 的集群配置中注册相关的 Hadoop 和 Flink 配置,详见[集群管理](../register_center/cluster_manage)。 - -::: - -### Kubernetes Session - -Dinky 将通过暴露的 NodePort 端口提交 FlinkSQL 作业至外部的 Flink Kubernetes Session 集群。 - -**特点:** 作业资源隔离,启动快,动态扩容。 - -**适用于:** 作业资源隔离,启动快,动态扩容,批作业、Flink OLAP 查询、资源占用小的流作业。 - -:::tip 说明 - - 需要在 Dinky 的集群配置中注册相关的 Kubernetes 和 Flink 配置,详见[集群管理](../register_center/cluster_manage)。 - -::: - -### Kubernetes Application - -Dinky 将通过 dlink-app 镜像创建的 Flink Kubernetes Application 集群。 - -**特点:** 作业资源隔离,启动慢,动态扩容,节约网络资源,所有 JobGraph 只创建一个集群。 - -**适用于:** 作业资源隔离,启动慢,动态扩容,节约网络资源,资源占用较多的批作业和流作业。 - -:::tip 说明 - - 需要在 Dinky 的集群配置中注册相关的 Kubernetes 和 Flink 配置,详见[集群管理](../register_center/cluster_manage)。 - -::: - -## DB SQL - -Dinky 将把 sql 提交到对应的数据源执行。 - -**适用于:** 原生 SQL 查询、执行。 - -:::tip 说明 - - 需要在数据源中心注册数据库,详见[数据源管理](../register_center/datasource_manage) - -::: - diff --git a/docs/docs/administrator_guide/studio/job_submit.md b/docs/docs/administrator_guide/studio/job_submit.md deleted file mode 100644 index 1b5a047412..0000000000 --- a/docs/docs/administrator_guide/studio/job_submit.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -sidebar_position: 3 -id: job_submit -title: 作业提交 ---- - -本文为您介绍如何提交 FlinkSQL 作业至集群,以及 DB SQL提交至数据库。Dinky 提供了三种提交作业的方式,分别是: - -- 执行当前SQL -- 异步提交 -- 上线下线发布 - -各提交作业的支持的执行模式及说明如下 - -| SQL类型 | 提交方式 | 执行模式 | 说明 | -| :------: | :----------: | :----------------------------------------------------------: | :---------------------------------------------------------- | -| FlinkSQL | 执行当前SQL | local
Standalone
Yarn Session
Kubernetes Session | 适用场景:`调试作业` | -| FlinkSQL | 异步提交 | Standalone
Yarn Session
Yarn Per-job
Yarn Application
Kubernetes Session
Kubernetes Application | 适用场景:`远程提交作业至集群` | -| FlinkSQL | 上线下线发布 | Standalone
Yarn Session
Yarn Per-job
Yarn Application
Kubernetes Session
Kubernetes Application | 适用场景:
1.`远程发布作业至集群`
2.`维护及监控作业` | -| DB SQL | 执行当前SQL | - | 适用场景:`调试作业` | -| DB SQL | 异步提交 | - | 适用场景:`提交作业至数据库` | - - - -**执行当前SQL如下** - -![execute_current_sql](http://www.aiwenmo.com/dinky/docs/administrator_guide/studio/job_ops/job_submit/execute_current_sql.png) - - - -**异步提交** - -![async_commit](http://www.aiwenmo.com/dinky/docs/administrator_guide/studio/job_ops/job_submit/async_commit.png) - - - -**上线下线发布** - -![publish](http://www.aiwenmo.com/dinky/docs/administrator_guide/studio/job_ops/job_submit/publish.png) - - - -:::tip 说明 - -- FlinkSQL 执行当前SQL与异步提交区别在于执行当前SQL适合调试作业,而异步提交适合提交作业到集群; -- FlinkSQL 异步提交与上线下线发布,异步提交无法接收告警,而上线下线发布可以接收告警并可以维护作业和在运维中心监控作业; -- DB SQL 执行当前SQL与异步提交区别在于执行当前SQL适合调试作业并可以看到错误信息,而异步提交只显示作业提交失败; - -::: diff --git a/docs/versioned_docs/version-0.7/k8s_guide/Dinky_integrated_Flink_on_K8s.md b/docs/versioned_docs/version-0.7/k8s_guide/Dinky_integrated_Flink_on_K8s.md index 1bf124feb7..87e4dfc4c0 100644 --- a/docs/versioned_docs/version-0.7/k8s_guide/Dinky_integrated_Flink_on_K8s.md +++ b/docs/versioned_docs/version-0.7/k8s_guide/Dinky_integrated_Flink_on_K8s.md @@ -23,11 +23,11 @@ title: Dinky集成Flink on K8S 需要几个配置文件,在flink官网[ standalone session 文档](https://nightlies.apache.org/flink/flink-docs-release-1.16/zh/docs/deployment/resource-providers/standalone/kubernetes/#session-%E9%9B%86%E7%BE%A4%E8%B5%84%E6%BA%90%E5%AE%9A%E4%B9%89)处可以找到,注意这里的版本,切换至自己对于**大版本号**,如:`1.16\1.17` -![image-20230922160212040](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309221602109.png) +![image-20230922160212040](http://www.aiwenmo.com/dinky/docs/test/202312201518540.png) Session模式需要几个配置文件,在官网文档可以找到,也可以点击下方超链接跳转,然后新建文件,把文件改成对应名称将官网复制的内容填入进来 -![image-20230922160614885](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309221606931.png) +![image-20230922160614885](http://www.aiwenmo.com/dinky/docs/test/202312201518305.png) - [通用集群资源定义](https://nightlies.apache.org/flink/flink-docs-release-1.16/zh/docs/deployment/resource-providers/standalone/kubernetes/#%E9%80%9A%E7%94%A8%E9%9B%86%E7%BE%A4%E8%B5%84%E6%BA%90%E5%AE%9A%E4%B9%89): - `flink-configuration-configmap.yaml` 【flink-conf.yml配置文件】,如需要更改分配资源需在此处配置 @@ -49,11 +49,11 @@ touch jobmanager-session-deployment-non-ha.yaml touch taskmanager-session-deployment.yaml ``` -![image-20230922161756584](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309221617633.png) +![image-20230922161756584](http://www.aiwenmo.com/dinky/docs/test/202312201518348.png) 这里注意,如果有端口指定需求或者已经有端口冲突,请更改`jobmanager-rest-service.yaml`文件中的`nodePort`k8s servcie端口号,本例采用默认的,*如果没有需求跳过此步骤,直接下一步* -![image-20230922162641149](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309221626209.png) +![image-20230922162641149](http://www.aiwenmo.com/dinky/docs/test/202312201518623.png) 按照顺序执行文件即可,若已经创建命名空间可忽略第一条命令 @@ -66,7 +66,7 @@ kubectl apply -f taskmanager-session-deployment.yaml -n flink kubectl apply -f jobmanager-session-deployment-non-ha.yaml -n flink ``` -![image-20230922162234672](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309221622751.png) +![image-20230922162234672](http://www.aiwenmo.com/dinky/docs/test/202312201518718.png) 等待镜像的拉取 @@ -74,11 +74,11 @@ kubectl apply -f jobmanager-session-deployment-non-ha.yaml -n flink kubectl get pod,svc -n flink ``` -![image-20230922162348324](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309221623387.png) +![image-20230922162348324](http://www.aiwenmo.com/dinky/docs/test/202312201518499.png) 在镜像拉取完成后在浏览器输入主机ip和rest的端口,`主机ip:30081`即可查看Flink web Dashboard ,可通过submit提交flink-jar的任务。 -![image-20230922162846944](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309221628994.png) +![image-20230922162846944](http://www.aiwenmo.com/dinky/docs/test/202312201517487.png) 到这里【方式一】k8s session安装完毕,下面开始集成Dinky @@ -88,7 +88,7 @@ kubectl get pod,svc -n flink 记住这个jobmanager-rest服务对外暴露的端口,本例为`30081` -![image-20230922223242070](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309222232218.png) +![image-20230922223242070](http://www.aiwenmo.com/dinky/docs/test/202312201517276.png) 打开`dinky` - 进入`注册中心` - 点击左侧`集群管理` - 点击`Flink 实例管理` - 点击`新建` - 类型选择`Kubernetes Session` @@ -96,7 +96,7 @@ kubectl get pod,svc -n flink - 如果是云服务器需要填内网的,填外网是不通的,*本地主机可忽略* -![image-20230922224304727](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309222243796.png) +![image-20230922224304727](http://www.aiwenmo.com/dinky/docs/test/202312201517180.png) #### 提交任务测试 @@ -123,11 +123,11 @@ FROM test1; 进入`数据开发`,在执行模式中选择`k8s session`模式,,在Flink 集群选择刚配置好的集群,点击上方的`执行任务`即可提交任务到该集群运行 -![image-20230922230505421](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309222305520.png) +![image-20230922230505421](http://www.aiwenmo.com/dinky/docs/test/202312201517662.png) 进入Flink web Dashboard即可查看到该任务 -![image-20230922230013915](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309222300994.png) +![image-20230922230013915](http://www.aiwenmo.com/dinky/docs/test/202312201521051.png) 第一种方式部署集成完毕,这里提前说明,如果使用到了三方Jar包,集群中是一套单独的环境,其中是没有相关Jar依赖的,需要通过Dockerfile将jar依赖打入`jobmanager-session-deployment-non-ha.yaml`和``taskmanager-session-deployment.yaml` 文件的镜像中的`/opt/flink/lib`下,并且日志会随着pod关闭而永久丢失,如果有**日志持久化**、**便携式添加三方Jar包**、**启用S3插件**等需求见下方的**注意事项** @@ -139,7 +139,7 @@ FROM test1; 这个部署需要通过**helm**包安装工具来进行部署,**必须使用helm3及其以上版本**进行部署,这里不演示 helm的安装方式,自行[helm官网](https://helm.sh/zh/)下载并且给予相关权限,自行安装即可。 -![image-20230922164005629](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309221640692.png) +![image-20230922164005629](http://www.aiwenmo.com/dinky/docs/test/202312201517279.png) 另外提前安装`cert-manager`,国内由于网络原因会下载不下来,这里做了一份阿里云镜像的,可以通过下方的链接**任选一种**进行下载保存,如果不部署这个,helm部署flink会报错,下载后进入到`cert-manager.yaml`文件的当前目录执行 下面的命令即可。 @@ -152,7 +152,7 @@ kubectl create ns cert-manager kubectl apply -f cert-manager.yaml ``` -![image-20230922181835107](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309221818166.png) +![image-20230922181835107](http://www.aiwenmo.com/dinky/docs/test/202312201517292.png) @@ -169,7 +169,7 @@ helm repo add flink-operator https://downloads.apache.org/flink/flink-kubernetes helm repo update ``` -![image-20230922165505016](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309221655063.png) +![image-20230922165505016](http://www.aiwenmo.com/dinky/docs/test/202312201521874.png) 导出保存一份`values.yaml`文件到本地,由于镜像访问比较慢,这里我上传了一份阿里云的镜像,如果镜像拉取不下来可以换下方的阿里云镜像 @@ -177,11 +177,11 @@ helm repo update helm show values flink-operator/flink-kubernetes-operator > values.yaml ``` -![image-20230923092502889](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230925979.png) +![image-20230923092502889](http://www.aiwenmo.com/dinky/docs/test/202312201517342.png) vim打开values.yaml文件在26行这将其替换为阿里云的地址 -![image-20230923092102159](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230921273.png) +![image-20230923092102159](http://www.aiwenmo.com/dinky/docs/test/202312201522396.png) 替换为以下镜像,并保存 @@ -189,7 +189,7 @@ vim打开values.yaml文件在26行这将其替换为阿里云的地址 registry.cn-beijing.aliyuncs.com/yilinwei/flink-kubernetes-operator ``` -![image-20230923092108351](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230921439.png) +![image-20230923092108351](http://www.aiwenmo.com/dinky/docs/test/202312201517514.png) helm开始安装并指定values文件,指定命名空间 @@ -199,9 +199,9 @@ helm install flink-kubernetes-operator flink-operator/flink-kubernetes-operator 等待镜像的拉取 -![image-20230923093446576](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230934690.png) +![image-20230923093446576](http://www.aiwenmo.com/dinky/docs/test/202312201522741.png) -![image-20230923093612409](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230936463.png) +![image-20230923093612409](http://www.aiwenmo.com/dinky/docs/test/202312201517083.png) 在拉取完成后,新建一个 `flink-session-operator.yaml`文件,将文件内容填入其中 @@ -256,53 +256,53 @@ spec: 执行该文件,等待创建完成 -![image-20230923093937602](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230939678.png) +![image-20230923093937602](http://www.aiwenmo.com/dinky/docs/test/202312201517128.png) 查看端口,上方设置的NodePort暴露端口为`30082` -![image-20230923095022036](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230950178.png) +![image-20230923095022036](http://www.aiwenmo.com/dinky/docs/test/202312201523277.png) 进入web端,输入`ip:30082`查看Flink Web Dashboardm,**这里没有显示资源,并且Pod只有一个,是因为该模式会在提交任务后根据提前设置好的资源进行创建,任务结束后会关闭对应的资源。** -![image-20230923095147413](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230951491.png) +![image-20230923095147413](http://www.aiwenmo.com/dinky/docs/test/202312201523640.png) #### 集成dinky 添加Dinky步骤同方式一,这里就不重复演示添加步骤了 -![image-20230923095513543](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230955616.png) +![image-20230923095513543](http://www.aiwenmo.com/dinky/docs/test/202312201517345.png) #### 提交任务测试 选中对应的模式和集群,提交`【方式一】`中的测试任务,并进入web端查看 -![image-20230923095757319](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230957392.png) +![image-20230923095757319](http://www.aiwenmo.com/dinky/docs/test/202312201517647.png) web端查看任务提交成功 -![image-20230923095830861](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230958934.png) +![image-20230923095830861](http://www.aiwenmo.com/dinky/docs/test/202312201517176.png) 这里有个特别的点,通过此种方式部署**web端没有Cancel Job按钮,需要在Dinky种点击结束任务**,然后稍等片刻,Taskmanager会自动退出,只留下一个Jobmanager -![image-20230923095915739](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309230959806.png) +![image-20230923095915739](http://www.aiwenmo.com/dinky/docs/test/202312201517922.png) 查看Pod也被自动创建了 -![image-20230923100003258](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231000341.png) +![image-20230923100003258](http://www.aiwenmo.com/dinky/docs/test/202312201517113.png) 如果需要关闭任务点击Dinky处的停止 -![image-20230923100113971](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231001034.png) +![image-20230923100113971](http://www.aiwenmo.com/dinky/docs/test/202312201517090.png) web端也会被停止,并且Pod过一会也会自动退出 -![image-20230923100149548](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231001608.png) +![image-20230923100149548](http://www.aiwenmo.com/dinky/docs/test/202312201517363.png) pod查看taskmanager过一会会自动退出 -![](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231002388.png) +![](http://www.aiwenmo.com/dinky/docs/test/202312201517498.png) 此种方式任务运行结束后日志也会丢失,如果想日志持久化以及便携式添加依赖见下方的注意事项 @@ -496,21 +496,21 @@ spec: 然后可以在先前设置的`/data/nfs`路径下找到pvc映射到本地的路径,可以`ln -s`做个软连接也可以直接在此目录下查看日志 -![image-20230923150553024](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231505107.png) +![image-20230923150553024](http://www.aiwenmo.com/dinky/docs/test/202312201517704.png) 在nfs共享文件夹中找到pvc -![image-20230923150709955](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231507056.png) +![image-20230923150709955](http://www.aiwenmo.com/dinky/docs/test/202312201517910.png) 【方式一】日志持久化更改配置文件后重新部署即可 - 映射容器内路径 - ![image-20230923150932341](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231509444.png) + ![image-20230923150932341](http://www.aiwenmo.com/dinky/docs/test/202312201517916.png) - 指定pvc,日志的为session-log,重新部署后,再运行,即可将日志持久化到外部来 -![image-20230923151012289](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231510402.png) +![image-20230923151012289](http://www.aiwenmo.com/dinky/docs/test/202312201517975.png) @@ -543,7 +543,7 @@ Native模式Flink官网参考文档:https://nightlies.apache.org/flink/flink-d kubectl create rolebinding default-flink-rule --clusterrole=edit --serviceaccount=flink:default --namespace=flink ``` -![image-20230923112138602](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231121660.png) +![image-20230923112138602](http://www.aiwenmo.com/dinky/docs/test/202312201517056.png) ### Native Session模式集成Dinky @@ -551,7 +551,7 @@ kubectl create rolebinding default-flink-rule --clusterrole=edit --serviceaccoun 查看当前flink命名空间,是没有native的,这些是上方案例安装的,端口不冲突是可以共存的 -![image-20230923113200476](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231132609.png) +![image-20230923113200476](http://www.aiwenmo.com/dinky/docs/test/202312201517464.png) 进入flink解压后的根目录,执行下方命令创建native session集群 @@ -565,7 +565,7 @@ kubectl create rolebinding default-flink-rule --clusterrole=edit --serviceaccoun 可以看到native session已经创建完成,并且和【方式二】一样,taskmanager是自动创建的 -![image-20230923113321029](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231133171.png) +![image-20230923113321029](http://www.aiwenmo.com/dinky/docs/test/202312201517695.png) 不过该方式的资源配置需要在命令中配置,这里举个例子,下方的classpaths是将本地的jar依赖添加进集群容器中,更多请在Flink官网了解 @@ -589,15 +589,15 @@ kubectl edit service/my-first-flink-cluster-rest -n flink 移动到文件底部,将`ClusterIP`修改为`NodePort`,然后`wq`保存退出 -![image-20230923115310306](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231153389.png) +![image-20230923115310306](http://www.aiwenmo.com/dinky/docs/test/202312201517744.png) 再查看svc,端口暴露为:`31057`,这里是随机的,如果需要指定可自行写个svc转发也可用再次edit修改svc中的`nodePort` -![image-20230923115447941](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231154057.png) +![image-20230923115447941](http://www.aiwenmo.com/dinky/docs/test/202312201517790.png) 进入web端查看 -![image-20230923121259953](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231213054.png) +![image-20230923121259953](http://www.aiwenmo.com/dinky/docs/test/202312201517225.png) 如果不用了可通过下方命令删除session集群,这里还需要集成dinky,可跳过此步骤 @@ -609,7 +609,7 @@ kubectl delete deployment/my-first-flink-cluster -n flink 步骤同上方的Session模式,选择模式,添加`ip:31057` -![image-20230923121402696](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231214775.png) +![image-20230923121402696](http://www.aiwenmo.com/dinky/docs/test/202312201517175.png) @@ -617,11 +617,11 @@ kubectl delete deployment/my-first-flink-cluster -n flink 测试命令在上方的k8s session 【方式一】的测试案例中复制,选择模式,选择对应的集群,保存,提交任务测试 -![image-20230923121641084](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231216163.png) +![image-20230923121641084](http://www.aiwenmo.com/dinky/docs/test/202312201517828.png) web端 -![image-20230923121615954](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231216044.png) +![image-20230923121615954](http://www.aiwenmo.com/dinky/docs/test/202312201517527.png) 手动在dinky结束任务或者web端cancel job @@ -668,17 +668,17 @@ COPY ./dlink-app-1.16-0.7.3-jar-with-dependencies.jar plugins/* $FLINK_HOME/lib/ 开始进行build,本例以阿里云镜像为演示,提前在阿里云仓库中创建好仓库文件夹 -![image-20230923132809846](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231328941.png) +![image-20230923132809846](http://www.aiwenmo.com/dinky/docs/test/202312201517994.png) 选择本地仓库 -![image-20230923132829801](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231328856.png) +![image-20230923132829801](http://www.aiwenmo.com/dinky/docs/test/202312201517071.png) 进入仓库即可看到相关的登录信息以及拉取和打标签的描述,在本机通过docker登录至阿里云镜像仓库 -![image-20230923132915194](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231329260.png) +![image-20230923132915194](http://www.aiwenmo.com/dinky/docs/test/202312201517114.png) @@ -688,11 +688,11 @@ COPY ./dlink-app-1.16-0.7.3-jar-with-dependencies.jar plugins/* $FLINK_HOME/lib/ docker build -t registry.cn-beijing.aliyuncs.com/yilinwei/dinky-native-application:flink1.16.2 . ``` -![image-20230923133050795](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231330879.png) +![image-20230923133050795](http://www.aiwenmo.com/dinky/docs/test/202312201517177.png) 等待build完成 -![image-20230923133637433](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231336586.png) +![image-20230923133637433](http://www.aiwenmo.com/dinky/docs/test/202312201517367.png) 然后将其push到阿里云仓库中,**更换自己的镜像地址,别用本例的**,镜像比较大,得等待一定的时间 @@ -700,11 +700,11 @@ docker build -t registry.cn-beijing.aliyuncs.com/yilinwei/dinky-native-applicati docker push registry.cn-beijing.aliyuncs.com/yilinwei/dinky-native-application:flink1.16.2 ``` -![image-20230923133811521](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231338611.png) +![image-20230923133811521](http://www.aiwenmo.com/dinky/docs/test/202312201517745.png) 在push完成后可在阿里云 镜像仓库中查看到当前镜像 -![image-20230923135314092](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231353159.png) +![image-20230923135314092](http://www.aiwenmo.com/dinky/docs/test/202312201517651.png) 到目前位置镜像配置完成,下面开始与dinky集成 @@ -712,7 +712,7 @@ docker push registry.cn-beijing.aliyuncs.com/yilinwei/dinky-native-application:f 进入此处选择`Flink Kubernates Native`类型 -![image-20230923135415697](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231354767.png) +![image-20230923135415697](http://www.aiwenmo.com/dinky/docs/test/202312201517740.png) @@ -720,14 +720,14 @@ docker设置如下,**配置项填写自己的镜像地址、登录账户与密 - image-namespace:是阿里云命名空间 -![image-20230923141208533](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231412589.png) +![image-20230923141208533](http://www.aiwenmo.com/dinky/docs/test/202312201517830.png) 其余配置如下 -![image-20230923141332962](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231413034.png) +![image-20230923141332962](http://www.aiwenmo.com/dinky/docs/test/202312201517929.png) kubernetes配置项如下,**配置项填写自己的镜像地址,资源自定义,下方添加自定义项,`kubernetes.cluster-id`自行任意配置一个** -![image-20230923141612034](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231416089.png) +![image-20230923141612034](http://www.aiwenmo.com/dinky/docs/test/202312201517322.png) Flink配置,必填项只需要一个`flink/conf`下的配置文件,这里需要注意dinky部署的方式 @@ -735,23 +735,23 @@ Flink配置,必填项只需要一个`flink/conf`下的配置文件,这里需 - 如果dinky部署在**裸机**内,那么直接配置`flink-conf.yaml`的文件路径即可 - ![image-20230923142145971](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231421013.png) + ![image-20230923142145971](http://www.aiwenmo.com/dinky/docs/test/202312201518390.png) 基本配置配置完集群名称,点击测试链接,再启用完成即可 -![image-20230923142328210](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231423280.png) +![image-20230923142328210](http://www.aiwenmo.com/dinky/docs/test/202312201517422.png) #### 提交任务测试 选中k8s application模式,并提交集群运行 -![image-20230923143122068](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231431139.png) +![image-20230923143122068](http://www.aiwenmo.com/dinky/docs/test/202312201517463.png) 自行找案例测试,这里我简单创个paimon表落盘alluxio上演示下 -![image-20230923143422582](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231434653.png) +![image-20230923143422582](http://www.aiwenmo.com/dinky/docs/test/202312201517558.png) -![image-20230923143838773](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231438843.png) +![image-20230923143838773](http://www.aiwenmo.com/dinky/docs/test/202312201517627.png) ## 参考资料: diff --git a/docs/versioned_docs/version-0.7/k8s_guide/dinky_k8s_quick_install.md b/docs/versioned_docs/version-0.7/k8s_guide/dinky_k8s_quick_install.md index 65433d36f6..8781e1cdba 100644 --- a/docs/versioned_docs/version-0.7/k8s_guide/dinky_k8s_quick_install.md +++ b/docs/versioned_docs/version-0.7/k8s_guide/dinky_k8s_quick_install.md @@ -225,11 +225,11 @@ spec: kubectl apply -f deploy.yaml ``` -![image-20230909105508605](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309091056114.png) +![image-20230909105508605](http://www.aiwenmo.com/dinky/docs/test/202312201511694.png) 等待pod初始化完成 -![](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309091055530.png) +![](http://www.aiwenmo.com/dinky/docs/test/202312201511677.png) 在安装完毕后查看pod,svc是否有问题 @@ -237,7 +237,7 @@ kubectl apply -f deploy.yaml kubectl get pods,svc -o wide -n dinky ``` -![image-20230909105740008](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309091057080.png) +![image-20230909105740008](http://www.aiwenmo.com/dinky/docs/test/202312201511321.png) 进入浏览器,访问配置文件中设置的`【对外暴露端口号】`,这里配置文件设置的为`32323` @@ -249,7 +249,7 @@ http://主机ip:端口 默认登录账号密码为`admin/admin` -![image-20230909105927963](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309091059029.png) +![image-20230909105927963](http://www.aiwenmo.com/dinky/docs/test/202312201511332.png) #### 4.测试 @@ -278,11 +278,11 @@ FROM test1; 点击获取数据测试 -![image-20230909110331424](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309091103543.png) +![image-20230909110331424](http://www.aiwenmo.com/dinky/docs/test/202312201511356.png) 点击查看bi -![image-20230909110437935](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309091104042.png) +![image-20230909110437935](http://www.aiwenmo.com/dinky/docs/test/202312201511369.png) ### 注意事项 @@ -292,7 +292,7 @@ FROM test1; - 方式二:是通过Dokcerfile重新打包,重新指定启动参数,默认镜像是指定了`ENV FLINK_BIG_VERSION=1.16`,重写打包即可,上面的镜像自行替换最新版 - ![image-20230911102325172](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309111023240.png) + ![image-20230911102325172](http://www.aiwenmo.com/dinky/docs/test/202312201511494.png) 在此基础上添加参数重启即可,用下面例子,或者自行编写,完整参数可见:[docker hub](https://hub.docker.com/layers/dinkydocker/dinky-standalone-server/0.7.3-flink16/images/sha256-b1ac433950a004c899d4fe930d5996acbf9d09dc2eaca5973ff84d1d4c12f5b0?context=explore) @@ -382,4 +382,4 @@ FROM test1; # path: /data/nfs/dinky/plugins #【方式二】映射到nfs共享目录下,每次添加依赖需重启pod生效,首次需要手动复制文件到此目录 ``` -![image-20230923155056343](https://ylw-typora-img.oss-cn-chengdu.aliyuncs.com/img/202309231550459.png) +![image-20230923155056343](http://www.aiwenmo.com/dinky/docs/test/202312201511589.png)