Flink CDC里这种提交方式怎么提交到flink?

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,不想混着。这脚本好像不支持,需要自己编译源码吗?2ef35e0defd5983454e5d663cff64001.png

展开
收起
小小鹿鹿鹿 2024-03-25 19:11:10 125 分享 版权
阿里云 AI 助理回答

Flink CDC 提供了一种方式来将数据变更捕获的任务提交到 Flink 集群,包括 YARN 环境。您提到的直接通过脚本 flink-cdc.sh 运行配置文件的方式,默认是使用 Flink 的命令行界面(CLI)进行会话(Session)模式的提交。但是,如果您希望以 YARN per job 模式提交任务,即每个任务作为一个独立的 YARN 应用运行,这需要调整提交命令。

实际上,不需要自己编译源码,您可以使用 Flink 的通用命令行工具来实现这一点。以下是一个基本的指导步骤:

  1. 准备 Flink Job JAR:首先确保您的 Flink CDC 作业已经被打包成一个包含所有依赖的 JAR 文件。如果 Flink CDC 工具没有直接提供这样的 JAR,您可能需要根据其提供的指南自行构建或者查找是否有社区维护的发行版。

  2. 编写或修改配置文件:通常,配置信息如 MySQL 连接、Doris 连接等会被编码在 Flink 作业的代码中或者作为命令行参数传递。确保您的配置(比如 mysql_to_doris.yaml 中的信息)可以通过程序参数或其他方式被 Flink 作业读取。

  3. 使用 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 集群已经正确配置了 YARN 环境。
    • 根据 Flink CDC 版本和集成需求,可能需要对作业代码做适当调整,以支持从外部配置文件或命令行参数读取配置。

综上所述,虽然 flink-cdc.sh 脚本可能默认不直接支持 YARN per-job 模式的提交,但您可以通过手动构造 Flink 的标准提交命令来实现这一需求,而无需重新编译整个源码。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

还有其他疑问?
咨询AI助理