Flink日记--记一次flink消费数据卡住

在使用Flink进行实时异常检测时,遇到作业消费Kafka数据卡住的情况,发现并非代码问题,而是由于CPU核心数不足导致。原先设置taskmanager.numberOfTaskSlots为2,导致单节点无法满足51个CPU的需求。解决方案是将taskmanager.numberOfTaskSlots调整回1,使得作业在两个节点上运行,确保资源充足,从而恢复正常运行。
摘要由CSDN通过智能技术生成

背景:

    最近用flink做实时异常检测,实时消费kafka数据,提交作业后消费一部分数据后就不在消费了,好像卡住了,kafka消息队列中一直在积压,作业也不会挂掉。之前一直没问题,最近将代码进行了重构出现了问题。一直以为是代码问题,不料最终发现是  CPU 核心数太少了。

分析:

    1、单一物理机CPU为32个,一个3节点的flink集群

     2、FLink配置将 taskmanager.numberOfTaskSlots 设置为 2

     3、 代码中使用了分流器 sideoutput ,共一层分流,分了48个流,并行度为2,加上其他的 共需要 51 cpu

之前 taskmanager.numberOfTaskSlots为1,这样完成这个作业需要两个节点,当将 taskmanager.numberOfTaskSlots 设置为 2时,这个作业将会只在一个节点上运行,直接造成 一个节点上的CPU个数无法满足作业需要的资源。

解决方案:

     将taskmanager.numberOfTaskSlots设置为1,重启flink集群,这样这个作业需要集群中两个节点运行,两个点的CPU数 64 > 51, 作业正常运行。

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值