在Flink CDC作业提交过程中,出现超时问题可能与多种因素有关。首先,Flink CDC提供了一些配置参数来控制连接超时时间,例如connection.timeout.ms
参数用于设置与源数据库之间的连接超时时间。如果连接超时,可以考虑增加此超时时间或优化MySQL的配置以减少负载。
其次,超时问题可能与checkpoint操作有关。当数据量过大或MySQL负载过高时,snapshot split需要长时间读取处理数据,可能导致checkpoint超时。为了解决这一问题,可以尝试调整checkpoint的间隔时间或调整checkpoint的时间长度。此外,还可以考虑降低Source的并发度来减少系统的压力。
在Flink on Yarn模式下,对job作业进行指标监控的方式有很多。首先,可以使用Flink Metrics来对各项性能指标如全链路吞吐、全链路时延、吞吐时延等进行监控和调优。Flink支持多种汇报监控指标(metrics)的reporter,包括JMX、SLF4J、InfluxDB、Prometheus等。
特别是,如果使用Prometheus+Grafana进行监控,可以实时查看作业运行状态,这对于保证实时作业7 x 24小时运行至关重要。此外,在Per-Job模式中,每个Flink job任务都会启动一个对应的Flink集群,基于Yarn提交后会在Yarn中同时运行多个实时Flink任务。
另外,对于Yarn的任务,其有优先级,可以根据优先级运行作业。基于Yarn调度系统,能够自动化地处理各个角色的Failover (容错)。JobManager进程和TaskManager进程都由Yarn NodeManager监控。如果JobManager进程异常退出,则Yarn ResourceManager会重新调度JobManager到其他机器。如果TaskManager进程异常退出,JobManager会收到消息并重新向Yarn ResourceManager申请资源,重新启动TaskManager。通过这种方式也可以更好地监控和优化job作业的性能。