FLink:1.12.1

源: kafka
create table dev_log (
devid,
ip,
op_ts
) with (
connector = kafka
)

sink: Hbase connect 2.2

目前用flink sql的hop window开发一个指标,统计近24小时的设备关联ip数。设置30min一次checkpoint,超时时间30min。
执行SQL如下
insert into h_table
select
  devid as rowkey
  row(hop_end, ip_cnt)
from (
  select
     devid,
     hop_end(op_ts, INTERVAL '1' MINUTE, INTERVAL '24' HOUR) as hop_end,
     count(distinct(ip)) as ip_cnt
    from
      dev_logs
    group by
       hop(op_ts, INTERVAL '1' MINUTE, INTERVAL '24' HOUR),
      devid
)

测试中发现任务运行大约3个小时后,就会出现checkpoint失败,任务反复重启。
实际上数据量并不大,测试数据是1s/条输入,一个窗口输出大约只有4000条,成功的checkpoint不超过50M。
修改为10分钟的滑动步长就可以正常执行,但是延迟就比较高了。
请问有什么办法可以排查是哪里出的问题?有什么优化的方法呢

回复