Flink CDC中使用per-job模式一切正常。但使用apllication模式大家遇到过吗?[阿里云实时计算 Flink版]

Flink CDC中使用per-job模式一切正常。但使用apllication模式
flink run-application -t yarn-application -Dyarn.provided.lib.dirs=”hdfs://ns/flink/libs/lib;hdfs://ns/flink/libs/plugins” -ynm test -Dstate.checkpoints.dir=hdfs://ns/flink/checkpoints/test -c cn.egenie.architect.drs.server.DrsApplication hdfs://ns/flink/libs/deploy/drs-server.jar –profile dev –drsId 1 –jobName test
就一直报错:
Application application_1688519979954_0018 failed 1 times in previous 10000 milliseconds (global limit =2; local limit is =1) due to AM Container for appattempt_1688519979954_0018_000001 exited with exitCode: 1
Failing this attempt.Diagnostics: [2023-07-05 10:10:30.454]Exception from container-launch.
Container id: container_1688519979954_0018_01_000001
Exit code: 1
[2023-07-05 10:10:30.456]Container exited with a non-zero exit code 1. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
[2023-07-05 10:10:30.457]Container exited with a non-zero exit code 1. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
For more detailed output, check the application tracking page: http://flink01:8088/cluster/app/application_1688519979954_0018 Then click on links to logs of each attempt.
. Failing the application.
大家遇到过吗

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 在Flink CDC中,支持两种运行模式:Per-Job模式和Application模式。在Per-Job模式下,每个CDC任务都是一个独立的Flink任务,由Flink Session Cluster运行。在Application模式下,多个CDC任务可以在同一个Flink Application中运行,由Flink Application Cluster运行。

    使用Per-Job模式时,每个CDC任务都是独立的,它们之间互不干扰,因此一切正常。而在Application模式下,多个CDC任务共享同一个Flink Application运行环境,可能会出现一些特殊情况,需要特别注意。

    下面列举一些在使用Application模式时可能会遇到的问题:

    端口冲突:如果多个CDC任务使用了相同的端口号,可能会出现端口冲突的问题。在使用Application模式时,建议使用动态端口分配,避免端口冲突。

    资源竞争:如果多个CDC任务同时竞争同一份资源,可能会出现资源竞争的问题。例如,如果多个CDC任务同时读取同一张表,可能会导致数据冲突的问题。在使用Application模式时,建议对资源进行合理的分配和调度,避免资源竞争。

    依赖冲突:如果多个CDC任务使用了不同版本的依赖库,可能会出现依赖冲突的问题。在使用Application模式时,建议使用统一的依赖管理工具,避免依赖冲突。

    任务之间的通信:如果多个CDC任务需要进行通信,需要使用合适的通信方式。例如,可以使用Flink的广播变量进行任务之间的数据共享,或者使用Flink的网络通信进行任务之间的消息传递。

  2. 使用 Flink CDC 中的 per-job 模式一切正常,但是在使用 application 模式时遇到了问题。您想知道其他人是否也遇到过这个问题。

    对于这个具体的问题,我无法提供确切的答案,因为问题出现的原因可能有很多种。不同的配置、环境和版本都可能导致此问题发生。

    我建议您尝试以下步骤来解决问题:

    1. 检查 Flink 和 CDC 的版本兼容性:确保您使用的 Flink 版本与 CDC 连接器版本兼容,并且连接器支持所使用的模式(per-job 或 application)。

    2. 查看应用程序日志:根据错误消息中的提示,访问应用程序跟踪页面,查看每个尝试的日志。这些日志可能会提供更详细的错误信息,帮助您找到问题所在。

    3. 检查 YARN 配置和资源限制:确保 YARN 的配置和资源限制满足您的应用程序需求。可能需要调整内存、CPU 和其他资源的分配。

    4. 检查应用程序依赖项和部署方式:确认应用程序的依赖项正确地打包并在指定的路径可用。同时,确保应用程序的启动命令和参数正确设置。

    5. 寻求 Flink 社区或邮件列表的帮助:如果以上步骤都无法解决问题,建议向 Flink 社区或邮件列表寻求支持。在社区中提供更详细的信息,如版本、配置文件内容、日志等,以便其他社区成员能够更好地帮助您解决问题。

    请注意,由于无法确定您具体使用的环境和配置,以上建议仅供参考。建议根据实际情况进行调试和排查。