开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink在本地能执行 datastream 上传到vvp 就报 这个错是为啥?

Flink在本地能执行 datastream 上传到vvp 就报 这个错是为啥?org.apache.flink.util.FlinkException: Global failure triggered by OperatorCoordinator for 'Source: MySQL Source' (operator bc764cd8ddf7a0cff126f51c16239658).

at org.apache.flink.runtime.operators.coordination.OperatorCoordinatorHolder$LazyInitializedCoordinatorContext.failJob(OperatorCoordinatorHolder.java:683)

at org.apache.flink.runtime.operators.coordination.RecreateOnResetOperatorCoordinator$QuiesceableContext.failJob(RecreateOnResetOperatorCoordinator.java:264)

at org.apache.flink.runtime.source.coordinator.SourceCoordinatorContext.failJob(SourceCoordinatorContext.java:411)

at org.apache.flink.runtime.source.coordinator.SourceCoordinator.start(SourceCoordinator.java:222)

at org.apache.flink.runtime.operators.coordination.RecreateOnResetOperatorCoordinator$DeferrableCoordinator.resetAndStart(RecreateOnResetOperatorCoordinator.java:443)

at org.apache.flink.runtime.operators.coordination.RecreateOnResetOperatorCoordinator$DeferrableCoordinator.access$900(RecreateOnResetOperatorCoordinator.java:326)

at org.apache.flink.runtime.operators.coordination.RecreateOnResetOperatorCoordinator.lambda$resetToCheckpointInternal$7(RecreateOnResetOperatorCoordinator.java:171)

at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774)

at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750)

at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)

at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1975)

at org.apache.flink.runtime.operators.coordination.ComponentClosingUtils.lambda$closeAsyncWithTimeout$0(ComponentClosingUtils.java:77)

at java.lang.Thread.run(Thread.java:879)

Caused by: org.apache.flink.util.FlinkRuntimeException: org.apache.flink.util.FlinkRuntimeException: Initialize jdbc connection pool failed, this may caused by wrong jdbc configurations or unstable network. Please check your jdbc configurations and network.

at com.ververica.cdc.connectors.mysql.debezium.DebeziumUtils.openJdbcConnection(DebeziumUtils.java:71)

at com.ververica.cdc.connectors.mysql.MySqlValidator.validate(MySqlValidator.java:75)

at com.ververica.cdc.connectors.mysql.source.MySqlSource.createEnumerator(MySqlSource.java:189)

at org.apache.flink.runtime.source.coordinator.SourceCoordinator.start(SourceCoordinator.java:218)

... 9 more

Caused by: org.apache.flink.util.FlinkRuntimeException: Initialize jdbc connection pool failed, this may caused by wrong jdbc configurations or unstable network. Please check your jdbc configurations and network.

at com.ververica.cdc.connectors.mysql.source.connection.PooledDataSourceFactory.createPooledDataSource(PooledDataSourceFactory.java:38)

at com.ververica.cdc.connectors.mysql.source.connection.JdbcConnectionPools.getOrCreateConnectionPool(JdbcConnectionPools.java:48)

at com.ververica.cdc.connectors.mysql.source.connection.JdbcConnectionFactory.connect(JdbcConnecti

展开
收起
三分钟热度的鱼 2024-03-27 15:00:24 17 0
2 条回答
写回答
取消 提交回答
  • 当Flink作业在本地运行时没有问题,但是在上传到VVP(可能是一个托管的Flink集群平台)后出现错误,这通常与环境差异有关。以下是一些可能导致这种情况的原因和解决方法:

    1. 环境配置差异:本地环境和VVP集群的环境配置可能存在差异,包括JVM版本、操作系统、网络配置等。确保两个环境中的配置尽可能一致。

    2. 依赖问题:可能是因为上传到VVP时缺少了某些必要的依赖库。检查作业的依赖是否完整,并确保所有需要的库都已经包含在内。

    3. 资源限制:VVP集群可能对资源有限制,比如内存、CPU或并发任务数。检查集群的资源配额,并调整作业的资源需求以适应这些限制。

    4. 网络问题:如果Flink作业需要访问外部资源,如MySQL数据库,确保VVP集群能够正确访问这些资源。检查网络连接、防火墙设置和DNS解析等。

    5. 版本兼容性:确保Flink作业的版本与VVP集群上的Flink版本兼容。如果有版本差异,可能需要重新编译或调整作业以匹配集群版本。

    6. 作业配置:检查作业的配置,特别是与数据源相关的配置,如MySQL Source的配置。确保这些配置在VVP集群中是有效的。

    7. 日志和监控:查看VVP集群上的日志和监控信息,以获取更多关于错误的详细信息。这可能有助于定位问题的根源。

    8. 集群健康状态:确认VVP集群的健康状态。如果集群正在经历性能问题或其他故障,这可能会影响到作业的执行。

    9. 权限问题:确保上传作业的用户在VVP集群上有足够的权限执行所需的操作。

    10. 代码兼容性:检查作业代码是否包含任何特定于本地环境的硬编码设置或假设。这些可能在迁移到VVP时导致问题。

    11. 社区支持:如果题依然无法解决,考虑寻求Flink社区或VVP提供商的支持。

    总之,解决这个问题可能需要您仔细比较本地环境和VVP集群的差异,并逐步排除可能的问题。通过综合分析日志、监控信息和作业配置,您应该能够找到导致问题的根本原因,并采取相应的措施来解决它。

    2024-03-29 15:26:09
    赞同 展开评论 打赏
  • 把这个 加到了依赖里 ,换一个开启binlog的数据库 就可以。65866987000a9debc6a4bc605e9f6cb3.png
    此回答整理自钉群“实时计算Flink产品交流群”

    2024-03-27 15:39:26
    赞同 展开评论 打赏

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

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载