f/home/hadoop/flink_worker/flink-cdc-3.0.1/bin/flink-cdc.sh /home/hadoop/flink_worker/flink-cdc-3.0.1/conf/mysql_to_doris.yaml
Flink CDC里这种提交方式怎么提交到flink run-application -t yarn-application。只能是session提交吗?怎么提交到 YARN per job?就想一个同步任务一个job,不想混着。这脚本好像不支持,需要自己编译源码吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
Flink CDC 提供了一种方式来将数据变更捕获的任务提交到 Flink 集群,包括 YARN 环境。您提到的直接通过脚本 flink-cdc.sh
运行配置文件的方式,默认是使用 Flink 的命令行界面(CLI)进行会话(Session)模式的提交。但是,如果您希望以 YARN per job 模式提交任务,即每个任务作为一个独立的 YARN 应用运行,这需要调整提交命令。
实际上,不需要自己编译源码,您可以使用 Flink 的通用命令行工具来实现这一点。以下是一个基本的指导步骤:
准备 Flink Job JAR:首先确保您的 Flink CDC 作业已经被打包成一个包含所有依赖的 JAR 文件。如果 Flink CDC 工具没有直接提供这样的 JAR,您可能需要根据其提供的指南自行构建或者查找是否有社区维护的发行版。
编写或修改配置文件:通常,配置信息如 MySQL 连接、Doris 连接等会被编码在 Flink 作业的代码中或者作为命令行参数传递。确保您的配置(比如 mysql_to_doris.yaml
中的信息)可以通过程序参数或其他方式被 Flink 作业读取。
使用 flink run-application
命令:要以 YARN per-job 模式提交,您应该使用 Flink 的 run-application
命令,并指定 -t yarn-per-job
参数。命令大致结构如下:
./bin/flink run-application -t yarn-per-job \
--job-classname <YourJobClassName> \ # 替换为您的主类名
-c <ConfigOptions> \ # 如果有额外的配置选项,通过 -c 传递
/path/to/your/flink-cdc-job.jar \ # 替换为您的JAR包路径
<YourJobClassName>
是您的 Flink 作业入口类的全限定名。<ConfigOptions>
可能需要您根据实际情况转换 mysql_to_doris.yaml
中的配置为命令行参数形式,或者确保这些配置能够通过其他方式(如环境变量、配置中心)被作业获取。
注意点:
综上所述,虽然 flink-cdc.sh
脚本可能默认不直接支持 YARN per-job 模式的提交,但您可以通过手动构造 Flink 的标准提交命令来实现这一需求,而无需重新编译整个源码。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。