Flink问题排查-Buffer pool is destroyed.

近期Flink 作业偶发报错:java.lang.IllegalStateException: Buffer pool is destroyed.
通过GOOGLE和百度查询结果有:
1、jdk问题:发送数据源方jdk版本高于Flink使用方,需要提高jdk版本解决
2、数据源问题(某个数据源为空),由于这个报错往往与"Could not forward element to next operator"同时存在,很可能会考虑到数据源问题上去,毕竟数据解析失败、使用EventTimeWindows拿不到事件事件时都会爆出这个错误。

     通过排查,这两种方式都不适合我的情况,只好拿到数据问题进行debug,本地IDEA启动Flink后,发现也是偶发报错,无法直接复现,摸不到规律。

      因为我的Flink开启了Checkpoint,本地运行时,hdfs地址不存在导致checkpoint失败:

checkpoint失败

 于是,关闭checkpoint,仅仅是为了避免大量报错日志:

//env.enableCheckpointing(1200000L);

却有惊喜发现,Buffer pool is destroyed.报错消失了,严重怀疑跟checkpoint有关系,于是赶紧到线上的Flink 控制台查看JOB Manager 的logs:

 

发现第133次checkpoint失败,原因是:
      org.apache.flink.runtime.executiongraph.ExecutionGraph - Window(TumblingEventTimeWindows(120000), EventTimeTrigger, ImpRequestFunc, PassThroughWindowFunction) -> Sink: Unnamed (24/36) (f43062b98a5f227294dfbc62d2f77b28) switched from RUNNING to FAILED.:java.util.concurrent.TimeoutException: The heartbeat of TaskManager with id container_1586184618073_19932_01_000002  timed out.


 

Flink作业尝试重启fail job

再通过作业错误日志看到Buffer pool is destroyed的报错时间与上面的报错时间吻合,于是确定是此原因。

未完待续。。

 

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值