一种应用运行方法和装置制造方法及图纸

技术编号:28320512 阅读:29 留言:0更新日期:2021-05-04 13:00
本发明专利技术公开了应用运行方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括接收外围组件重启事件,通过挂载文件,将所述外围组件注册的信息写入磁盘中;基于预设时间阈值,确定外围组件重启事件失败,杀掉所述外围组件对应的计算进程。从而,本发明专利技术的实施方式能够解决现有技术外围组件异常导致整个应用失败的问题。

【技术实现步骤摘要】
一种应用运行方法和装置
本专利技术涉及计算机
,尤其涉及一种应用运行方法和装置。
技术介绍
Spark是新一代分布式内存计算框架,Apache开源的顶级项目,能够更好地适用于数据挖掘、机器学习算法,极大提升开发效率。而Sparkonkubernetes是一种基于容器化的调度方案,基于kubernetes自身强大的容器管理和编排特性,spark可以和其他的容器服务混合部署。该方案从技术积累上比较新,也面临着一系列的问题,其中,externalshuffleservice是spark的一个外围组件,其恢复方法是一个关键性问题,决定了sparkonkubernetes的稳定和性能,externalshuffleservice是Spark的一个外围组件,负责存储spark的中间数据。其中,Kubernetes是容器集群管理系统,为容器化的应用提供部署运行、资源调度、负载均衡、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:如果externalshuffleservice重启之后,内部注册的executors(executor是spark的计算进程)的shuffle文件位置信息会丢失,而本机器的executor并不会退出,继续执行task(任务)。task由于在externalshuffleservice找不到上一阶段的shuffle文件位置信息,会发生fetchfailed异常。根据spark自身框架规则,task会被重新调度。但由于executor始终正常工作,导致driver(spark的调度管理进程)维护的shuffle元数据始终没有更改(只有executor退出,发生executorlost才能够刷新driver的shuffle元数据)。后续的task仍然去重启后的externalshuffleservice寻找文件位置信息。由于该信息丢,task继续失败。一定重试次数之后,整个application(应用)会失败。
技术实现思路
有鉴于此,本专利技术实施例提供一种应用运行方法和装置,能够解决现有技术外围组件异常导致整个应用失败的问题。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种应用运行方法,包括接收外围组件重启事件,通过挂载文件,将所述外围组件注册的信息写入磁盘中;基于预设时间阈值,确定外围组件重启事件失败,杀掉所述外围组件对应的计算进程。可选地,杀掉所述外围组件对应的计算进程,包括:对计算进程添加探针检查,以监听外围组件端口;根据预设检查次数阈值,确定所述端口异常,杀掉对应的计算进程。可选地,杀掉所述外围组件对应的计算进程之后,包括:重新调度以启动计算进程,接收计算进程丢失消息,删除所述计算进程对应的所有shuffle元信息。可选地,将所述外围组件注册的信息写入磁盘中之后,包括:触发外围组件重启事件,加载磁盘中的全部信息,以恢复所述外围组件数据;其中,外围组件配置成容器集群管理系统中DaemonSet的方式。另外,根据本专利技术实施例的一个方面,提供了一种应用运行装置,包括接收模块,用于接收外围组件重启事件,通过挂载文件,将所述外围组件注册的信息写入磁盘中;处理模块,用于基于预设时间阈值,确定外围组件重启事件失败,杀掉所述外围组件对应的计算进程。可选地,所述处理模块杀掉所述外围组件对应的计算进程,包括:对计算进程添加探针检查,以监听外围组件端口;根据预设检查次数阈值,确定所述端口异常,杀掉对应的计算进程。可选地,所述处理模块杀掉所述外围组件对应的计算进程之后,包括:重新调度以启动计算进程,接收计算进程丢失消息,删除所述计算进程对应的所有shuffle元信息。可选地,所述接收模块将所述外围组件注册的信息写入磁盘中之后,包括:触发外围组件重启事件,加载磁盘中的全部信息,以恢复所述外围组件数据;其中,外围组件配置成容器集群管理系统中DaemonSet的方式。根据本专利技术实施例的另一个方面,还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一应用运行实施例所述的方法。根据本专利技术实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一基于应用运行实施例所述的方法。上述专利技术中的一个实施例具有如下优点或有益效果:本专利技术通过接收外围组件重启事件,通过挂载文件,将所述外围组件注册的信息写入磁盘中;基于预设时间阈值,确定外围组件重启事件失败,杀掉所述外围组件对应的计算进程。从而,本专利技术能够实现外围组件externalshuffleservice重启之后application应用能够正常继续运行直至完成。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术第一实施例的应用运行方法的主要流程的示意图图2是根据本专利技术第二实施例的应用运行方法的主要流程的示意图;图3是根据本专利技术第三实施例的应用运行方法的主要流程的示意图;图4是根据本专利技术第四实施例的应用运行方法的主要流程的示意图;图5是根据本专利技术第五实施例的应用运行方法的主要流程的示意图;图6是根据本专利技术实施例的应用运行装置的主要模块的示意图;图7是本专利技术实施例可以应用于其中的示例性系统架构图;图8是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术第一实施例的应用运行方法的主要流程的示意图,所述应用运行方法可以包括:步骤S101,接收外围组件重启事件,通过挂载文件,将所述外围组件注册的信息写入磁盘中。较佳地,在将所述外围组件注册的信息写入磁盘中之后,可以触发外围组件重启事件,加载磁盘中的全部信息,以恢复所述外围组件数据。其中,外围组件配置成容器集群管理系统中DaemonSet的方式。其中,DaemonSet为保证在每个节点上都运行一个容器副本。步骤S102,基于预设时间阈值,确定外围组件重启事件失败,杀掉所述外围组件对应的计算进程。较佳地,杀掉所述外围组件对应的计算进程的具体实施过程可以包括:对计算进程添加探针检查,以监听外围组件端口。之后,根据预设检查次数阈值,确定所述本文档来自技高网
...

【技术保护点】
1.一种应用运行方法,其特征在于,包括:/n接收外围组件重启事件,通过挂载文件,将所述外围组件注册的信息写入磁盘中;/n基于预设时间阈值,确定外围组件重启事件失败,杀掉所述外围组件对应的计算进程。/n

【技术特征摘要】
1.一种应用运行方法,其特征在于,包括:
接收外围组件重启事件,通过挂载文件,将所述外围组件注册的信息写入磁盘中;
基于预设时间阈值,确定外围组件重启事件失败,杀掉所述外围组件对应的计算进程。


2.根据权利要求1所述的方法,其特征在于,杀掉所述外围组件对应的计算进程,包括:
对计算进程添加探针检查,以监听外围组件端口;
根据预设检查次数阈值,确定所述端口异常,杀掉对应的计算进程。


3.根据权利要求1或2所述的方法,其特征在于,杀掉所述外围组件对应的计算进程之后,包括:
重新调度以启动计算进程,接收计算进程丢失消息,删除所述计算进程对应的所有shuffle元信息。


4.根据权利要求1所述的方法,其特征在于,将所述外围组件注册的信息写入磁盘中之后,包括:
触发外围组件重启事件,加载磁盘中的全部信息,以恢复所述外围组件数据;其中,外围组件配置成容器集群管理系统中DaemonSet的方式。


5.一种应用运行装置,其特征在于,包括:
接收模块,用于接收外围组件重启事件,通过挂载文件,将所述外围组件注册的信息写入磁盘中;
处理模块,用于基于预设时间阈值,确定外围组件重启事件失败,杀掉所述外围组...

【专利技术属性】
技术研发人员:范振
申请(专利权)人:北京沃东天骏信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1