开发者社区 问答 正文

flink1.9.1任务已经fail掉了,但在yarn上这个application还是在runnin

请教大家: flink1.9.1任务已经fail掉了,但在yarn上这个application还是在running,且yarn上分配的资源变成了1,程序中用的是固定延迟重启策略,请问有人知道任务挂掉但yarn上一直在running是什么原因么? http://apache-flink.147419.n8.nabble.com/file/t802/Inked%E6%8D%95%E8%8E%B711_LI.jpg http://apache-flink.147419.n8.nabble.com/file/t802/%E6%8D%95%E8%8E%B7.png*来自志愿者整理的flink邮件归档

展开
收起
彗星halation 2021-12-08 10:32:33 920 分享 版权
阿里云 AI 助理回答
  1. 问题描述: 用户遇到的问题是Flink 1.9.1版本的任务虽然已经失败,但在YARN上显示的状态依然是Running。此外,任务使用了固定延迟重启策略,并且在任务失败后,YARN上分配给该任务的资源降为1。

  2. 原因分析

    • 重启策略影响:由于采用了固定延迟重启策略,当Flink作业检测到任务失败时,会按照配置的延迟时间自动尝试重启任务。在此期间,YARN可能尚未收到Flink作业管理器(JobManager)关于任务失败的通知,因此仍显示为Running状态。
    • 资源调整机制:YARN可能根据Flink作业的实际需求动态调整资源分配。任务失败后,Flink可能释放了部分资源,导致YARN显示的资源量减少至1个单位,这是正常现象,尤其是在等待重启过程中为了节省资源。
  3. 解决方案与建议

    • 检查Flink日志:通过Flink的Web UI或直接从YARN应用的日志中获取详细的错误信息和状态更新日志,以确定任务失败的具体原因。
    • 监控与报警:确保有健全的监控系统来及时捕获任务失败事件,并设置适当的报警机制,以便快速响应。
    • 调整重启策略:如果频繁失败影响到了其他服务,考虑调整重启策略或者增加重试间隔,避免无意义的快速重试消耗资源。
    • 版本升级:考虑到Flink社区不断修复已知问题,评估是否有必要将Flink升级到更稳定的新版本,如Flink 1.16及以上版本解决了Kafka协调器切换导致的一些问题。
    • 资源管理优化:在YARN配置中,可以探索设置更合理的资源管理和调度策略,比如提高资源回收速度,确保资源的有效利用。
  4. 注意事项

    • 故障排查顺序:首先应从Flink作业自身出发,确认代码逻辑、配置正确性以及资源需求;其次考虑外部依赖(如YARN)的配置与稳定性。
    • 资源感知:理解YARN资源管理机制,合理设定任务的资源请求,避免因资源配置不当导致的运行异常。

综上所述,任务挂掉但YARN上显示Running状态主要与Flink的重启策略及YARN资源管理机制有关。通过细致排查和适当调整,可以有效解决此类问题并提升系统的健壮性。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答