开发者社区> 问答> 正文

Flink报错NoResourceAvailableException: No pooled ...

已解决

Flink报错NoResourceAvailableException: No pooled slot available and request to ResourceManager for new slot failed

展开
收起
提个问题 2024-05-30 17:11:11 161 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    一般是由于内存OOM,如果有TM现场的话,可以看下TM内存和 mysql-cdc source checkpoint的大小,如果很大的话(GB以上),那么应该就是用户 DB 中有非常频繁的DDL变更。可以加上'debezium.database.history.store.only.monitored.tables.ddl' = 'true' 参数绕过。 
    原理:debezium默认会捕获整库的DDL变更历史,并存到kafka topic中。我们是存到了内存里面,然后作为checkpoint的一部分存下来。而这个DDL变更历史没有清理机制,所以肯定会越来越大。如果正常的数据库,作业平时跑跑还好。如果遇到极端情况,就可能经常OOM。上面的参数就是只记录监控表的DDL变更,数据量会小很多。但是这个会导致如果用户在该表上做了 无锁变更,那么作业就会失败。
    2024-05-30 17:11:12
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载