海豚调度任务如何判断任务成功还是失败(源码)?

前言:

在海豚调度中,大家肯定会遇到一种情况就是,任务成功,但是显示失败。是不是感觉很困扰。

我现在也遇到这个情况。我们公司开发人员在执行之前老代码(hive引擎)的时候。偶尔成功偶尔失败。

海豚调度到底是如何判断任务的成功和失败的?

异常:

查看海豚的worker日志。

光看日志报错,各位大佬基本就能猜到了吧~

没错,海豚在执行完,获取执行这个任务中的所有application_id。然后通过yarn的API。去获取最终状态。那是不是呢?我们看源码。

源码位置:org/apache/dolphinscheduler/server/worker/task/AbstractCommandExecutor.java

 上图:是否成功呢?获取yarn的application状态。isSuccessOfYarnState下的getApplicationStatus方法。

 上图:和各位大佬想的一样。的确是获取application的finalStatus的值。来判断的。

上图: 没错,是通过yarn的API去获取状态的(http://rm地址:端口/ws/v1/cluster/apps/)

当API返回状态码不是200的时候,直接抛出异常。所以直接报错了~

解决:

回到最初的问题。我的这个任务,为什么返回码判断是404呢?

因为没有找到我的appplication。

为什么没有找到呢?

因为yarn设置的API里。关于final状态保存策略有两种

一种是数量,一种是时间。我们配置里时间是保留7天。数量保留是150条。

 猜测,如果时间段内有大量完成的app会被挤出页面

如果当前任务特别多的时候。hive脚本生成了20个application_id。这时候任务同时完成特别多。那么这20个生成完会被检测的时候,正好被刷掉了。

10点0分执行hive脚本。10点20执行结束。这个任务一共生成了20个application_id。但是这20分钟内其他任务一共执行完成超过150个application_id。会把这20个application_id刷掉。

这时候检测会找不到20个application_id。

解决方式:

yarn.resourcemanager.max-completed-applications可以设置大一点这个值。

设置多大合适呢?看你们集群而定。

有的人可能不是这个原因。具体什么原因可以看一下海豚的worker的日志。

因为海豚是中国人开发的,相对比较容易定位。

希望可以帮助到大家。坚持原创。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
FineCMS v2(简称v2海豚CMS)是一款开源的跨平台网站内容管理系统,以“实用+好用”为基本产品理念,提供从内容发布、组织、传播、互动和数据挖掘的网站一体化解决方 案。系统基于CodeIgniter框架,具有良好扩展性和管理性,可以帮助您在各种操作系统与运行环境中搭建各种网站模型而不需要对复杂繁琐的编程语言 有太多的专业知识,系统采用UTF-8编码,采取(语言-代码-程序)两两分离的技术模式,全面使用了模板包与语言包结构,为用户的修改提供方便,网站内 容的每一个角落都可以在后台予以管理,是一套非常适合用做系统建站或者进行二次开发的程序核心,史上灵活性最强的CMS系统。 运行环境 1、PHP版本:Php5.2.6 ~ php5.5 2、服务器环境:Nginx、Apache等 3、数据库软件:mysql5.x 4、系统框架程序:Codeigniter 3.0 适合行业 1、CMS内容管理系统 2、B2C网店系统 3、B2B电子商务网站 4、分类信息网站 6、小说、杂志网站 7、视频播放、点播系统 8、旅游类等垂直型网站 9、地方门户系统 基于FineCMS系统的任何网站都支持地区分站、行业分站功能 多站点国际化 每个站点均属独立的系统,模板与语言相互独立、权限互相独立、操作互不影响,共享会员中心,单点同步登录注册等,结合站点语言包能创建出多语言版本的网站,支持站点独立数据库存储,支持站点静态页面同步至指定服务器,可轻松实现强大的负载均衡。 自定义模块、模型、表单 各个模块相互独立,支持域名绑定,支持按栏目进行权限划分,无限分表存储让模块的负载能力更高,超强的自定义模块和字段功能则把系统灵活度发挥到了极致,可以不用编程就实现各种信息发布和检索,系统内置了文章、组图、下载等内容模块。 自定义URL规则、自动生成伪静态 自 定义URL一直是FineCMS系统的一个亮点,能够DIY出各种格式的URL,并支持函数与自定义运用到标签中,增强了自定义URL的灵活性。在v2中 支持自动生成伪静态规则,无需用户动手写规则,系统能自动帮你把规则写好,真正的傻瓜式操作,一键生成规则,并且完美支持主流web服务器。 OAuth、Ucenter 内 置腾讯QQ、新浪微博、百度、网易、Google、搜狐等OAuth一键登录功能,发布文章、评论自动发微博分享,还集成手机短信接口API通过手机短信 验证更安全,同时会员支持与Ucenter完美整合,会员空间支持域名绑定,用它可以创建标准的个人网站或者企业网站。 v2.3.2更新内容如下: 修复百度编辑器在ie9以下浏览器不显示问题 增加网站导航选择模块或单页时的修改名称功能

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值