OOZIE-任务假死分析与解决

本文探讨了一种OOZIE作业假死的情况,表现为workflow处于停滞状态,日志显示大量heartbeat信息。问题的根本在于launcher任务占用过多资源,导致action任务无法获取资源。提出的解决方案包括:减少fork-join并行度、调整container资源分配和设置不同队列以限制launcher任务的资源消耗。通过深入理解组件原理,可以有效解决此类问题。
摘要由CSDN通过智能技术生成

OOZIE-任务假死分析与解决

问题描述

提交的job,所有的workflow都出现了假死的状态,查看日志,全是oozie输出的heart beat 心跳日志。

在这里插入图片描述
yarn fair 调度器资源也被打满
在这里插入图片描述

分析问题

  • 首先网上查了下资料,这里就不赘言了,全是说资源不足,那么在我看来,我这边的集群资源,container内存是给够了的,所以就不考虑了。
  • 仔细观察,oozie一个action是分为两部分的,launcher和action,oozie所有的action都会提交一个mr作业,在作业中提交相应的action,那么这就会导致上面的问题,所有的launcher任务把资源全部占满了,导致后续的action无法获得资源,这样就导致launcher任务一直在等待action任务结束标志好退出完成,这样就行成了上述的假死问题。

解决

方案一
  • 减少fork-join并行度,让launcher任务不至于把资源打满。
方案二
  • 减少container的资源,提高yarn的container数量

方案三

  • 将launcher和action提交至不同的队列
  • 我这边使用的公平队列,需要设置队列最大的app的数量
  • 需要降低launcher队列的权重,launcher需要的资源很少,只是监控和提交action做的功能

总结

遇到问题不要盲目的去百度,有很多可能不适用自己问题所处的场景,需要分析组件的原理,然后从现象看本质,然后就会迎刃而解。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值