Flink CDC设置了.closeIdleReaders(true)后,增加新表启动,其他几个task finished,但是dag图上的busy一直是100,实际保留的这个task的backpressure是0这是不是有点问题?
这可能是由于以下原因引起的:
closeIdleReaders(true)
之后,Flink CDC会在检测到reader闲置一段时间后将其关闭。这可能会导致一些延迟,特别是在刚开始增加新表的时候,因为Flink需要先创建一个新的reader来读取新的表,然后再关闭原来的reader。所以在这个过程中,其他的task可能已经完成了工作,而新的task还在等待reader创建完成,这就可能导致DAG图上显示的busy仍然是1000,但实际上新task的backpressure是0。是的,这种情况可能存在问题。
当您设置了.closeIdleReaders(true)
时,Flink CDC会关闭空闲的读取器。这通常可以提高性能和资源利用率。但是,在某些情况下,如果新表启动后其他任务已经完成,而DAG图上的busy状态仍然为100,并且保留的task的backpressure为0,则可能存在以下问题:
可能存在死锁或阻塞的情况。您可以使用Flink Web UI或日志来查找有关死锁或阻塞的信息。
可能存在资源不足的问题。您可以检查集群的资源使用情况,例如CPU、内存、网络等,以确定是否存在资源瓶颈。
可能存在配置问题。您可以检查Flink CDC的配置是否正确,例如是否启用了正确的连接器、是否设置了正确的源表和目标表等。
为了解决这个问题,您可以尝试以下方法:
重启Flink集群并重新运行作业。
调整Flink CDC的配置参数,例如增加读取器的并发度、调整拉取频率和拉取量等。
检查MySQL数据库的状态和性能,例如检查慢查询、优化SQL语句等。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。