本申请涉及一种服务器任务停止方法、装置、电子设备及存储介质,该方法包括:接收第二服务器的连接请求,并与第二服务器建立连接通道,第二服务器具有通过任务名找到HDFS上的任务驱动器信息。接收第一请求指令并对第一请求指令进行解析,第一请求指令解析后可被第一服务器执行。执行解析后的第一请求指令并反馈处理结果,当解析后的第一请求指令为优雅停止时,则调用实时流式处理上下文和停止函数优雅停止与任务驱动器信息相匹配的任务。统一的管理节点来进行任务的启停,无需登录多台机器,降低了运维的复杂程度,通过简单的指令将信号直接发送至第一服务器的任务驱动器进程上,则无需手动的定时关注任务是否停止成功,有效较少了出错概率。少了出错概率。少了出错概率。
【技术实现步骤摘要】
服务器任务停止方法、装置、电子设备及存储介质
[0001]本专利技术涉及数据处理
,特别是涉及一种服务器任务停止方法、装置、电子设备及存储介质。
技术介绍
[0002]大数据时代对数据处理的实时性、稳定性、准确性要求越来越高。SparkStreaming是Spark应用程序编程接口(API,Application Programming Interface)的核心扩展,支持实时数据流的可扩展、高吞吐量和容错流处理。数据可以从Kafka、Kinesis或传输控制协议(TCP,Transmission Control Protocol)套接字等多种来源中获取,并且可以使用复杂的算法进行处理,这些算法用高级函数表示,如变化(map)、合并(reduce)、连接(join)、窗口(windows)。最后,处理过的数据可以推送到文件系统、数据库、实时仪表板等,甚至还可以在数据流上应用Spark的机器学习和图形处理算法,是一种被广泛使用的主流大数据分布式处理框架。
[0003]但是,作为一种数据微批处理框架,在数据批处理的过程中如何优雅的停止程序?如何保证程序能够在保证当前批次处理完毕之后才停止程序?目前只提供了优雅关闭配置参数(spark.streaming.stopGracefullyOnShutdown),表示Spark会在Java虚拟机(Java Virtual Machine)关闭的时候再停止流上下文(StreamingContext),而非直接停止流上下文(StreamingContext)。此种方式在实际的操作过程中非常不方便,即便开启了优雅关闭配置参数(spark.streaming.stopGracefullyOnShutdown),还需要找到需要关闭的SparkStreaming程序的驱动器(Driver)进程,并且给此驱动器(Driver)进程发送终止(SIGTERM)信号,然后等待驱动器(Dirver)进程接收信号并周期性的检查程序是否已经优雅的关闭了。
[0004]因此,目前的任务停止方式若立即停止程序,则会带来两个问题:一是当前批次数据未得到完全处理,二是程序运行的状态可能未得到有效保存。如果程序的处理不支持可重入,可能会带来部分数据丢失或者部分数据重复。通过监控批次的运行,在确保当前批次的任务执行完毕之后再立即停止任务,虽然能保证任务的数据及状态的一致性,但是对于当前批次处理完毕的时间点不好把握,尤其是在任务批次的间隔时间设置的比较短的时候,较不可控。另外,通过找到目标任务的驱动器进程节点,登录节点,通过任务信息过滤出驱动器进程标识,并向驱动器进行标识发送终止信号,然后周期性的判断任务是否已经停止。因此,现有的任务停止方式运维较复杂且出错率较高。
技术实现思路
[0005]基于此,有必要提供一种服务器任务停止方法、装置、电子设备及存储介质,通过统一的管理节点来进行任务的启停,无需登录多台机器,以降低运维的复杂度,同时无需手动定时关注任务是否停止成功,以减少出错概率。
[0006]第一方面,本申请提供一种服务器任务停止方法,应用于第一服务器,所述方法包
括:
[0007]接收第二服务器的连接请求,并与所述第二服务器建立连接通道,所述第二服务器具有通过任务名找到HDFS上的任务驱动器信息;
[0008]接收第一请求指令并对所述第一请求指令进行解析,所述第一请求指令解析后可被所述第一服务器执行;
[0009]执行解析后的第一请求指令并反馈处理结果,当解析后的第一请求指令为优雅停止时,则调用实时流式处理上下文和停止函数优雅停止与所述任务驱动器信息相匹配的任务。
[0010]在其中一个实施例中,所述执行解析后的第一请求指令并反馈处理结果,包括:
[0011]当所述第一请求指令解析后为立即停止时,则直接调用停止函数并直接关闭所述实时流式处理上下文;
[0012]当所述第一请求指令的内容无法解析时,则提示所述第二服务器指令内容不合法。
[0013]在其中一个实施例中,所述调用实时流式处理上下文和停止函数优雅停止与所述任务驱动器信息相匹配的任务,包括:
[0014]定时检测实时流式处理上下文是否已经终结,若未终结,则重新获取所述第一请求指令,若已终结,则进行任务优雅停止处理。
[0015]第二方面,本申请提供一种服务器任务停止方法,应用于第二服务器,所述方法包括:
[0016]通过任务名找到HDFS上的任务驱动器信息并向第一服务器发送连接请求,并与所述第一服务器建立连接通道;
[0017]发送第一请求指令至所述第一服务器,所述第一请求指令解析后可被所述第一服务器执行;
[0018]接收所述第一服务器对解析后的第一请求指令执行的结果,当解析后的第一请求指令为优雅停止时,则接收调用实时流式处理上下文和停止函数优雅停止与所述任务驱动器信息相匹配的任务的处理结果。
[0019]在其中一个实施例中,所述接收所述第一服务器对解析后的第一请求指令执行的结果,包括:
[0020]当所述第一请求指令解析后为立即停止时,则获取直接调用停止函数并直接关闭所述实时流式处理上下文的处理结果;
[0021]当所述第一请求指令的内容无法解析时,则获取所述第一请求指令内容不合法的提示。
[0022]在其中一个实施例中,所述接收调用实时流式处理上下文和停止函数优雅停止与所述任务驱动器信息相匹配的任务的处理结果,包括:
[0023]接收所述第一服务器定时检测实时流式处理上下文是否已终结的结果,若未终结,则重新发送所述第一请求指令,若已终结,则接收任务优雅停止的处理结果。
[0024]第三方面,本申请提供一种服务器任务停止装置,应用于第一服务器,所述装置包括:
[0025]第一接收模块,用于接收第二服务器的连接请求,并与所述第二服务器建立连接
通道,所述第二服务器具有通过任务名找到HDFS上的任务驱动器信息;
[0026]第二接收模块,用于接收第一请求指令并对所述第一请求指令进行解析,所述第一请求指令解析后可被所述第一服务器执行;
[0027]第一执行模块,用于执行解析后的第一请求指令并反馈处理结果,当解析后的第一请求指令为优雅停止时,则调用实时流式处理上下文和停止函数并优雅停止与所述任务驱动器信息相匹配的任务。
[0028]第四方面,本申请提供一种服务器任务停止装置,应用于第二服务器,所述装置包括:
[0029]第一发送模块,用于通过任务名找到HDFS上的任务驱动器信息并向第一服务器发送连接请求,并与所述第一服务器建立连接通道;
[0030]第二发送模块,用于发送第一请求指令至所述第一服务器,所述第一请求指令解析后可被所述第一服务器执行;
[0031]第三接收模块,用于接收所述第一服务器对解析后的第一请求指令执行的结果,当解析后的第一请求指令为优雅停止时,则接收调用实时流式处理上下文和停止函数优雅停止与所述任务驱动器信息相匹配的本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种服务器任务停止方法,其特征在于,应用于第一服务器,所述方法包括:接收第二服务器的连接请求,并与所述第二服务器建立连接通道,所述第二服务器具有通过任务名找到HDFS上的任务驱动器信息;接收第一请求指令并对所述第一请求指令进行解析,所述第一请求指令解析后可被所述第一服务器执行;执行解析后的第一请求指令并反馈处理结果,当解析后的第一请求指令为优雅停止时,则调用实时流式处理上下文和停止函数优雅停止与所述任务驱动器信息相匹配的任务。2.根据权利要求1所述的服务器任务停止方法,其特征在于,所述执行解析后的第一请求指令并反馈处理结果,包括:当所述第一请求指令解析后为立即停止时,则直接调用停止函数并直接关闭所述实时流式处理上下文;当所述第一请求指令的内容无法解析时,则提示所述第二服务器指令内容不合法。3.根据权利要求1所述的服务器任务停止方法,其特征在于,所述调用实时流式处理上下文和停止函数优雅停止与所述任务驱动器信息相匹配的任务,包括:定时检测实时流式处理上下文是否已经终结,若未终结,则重新获取所述第一请求指令,若已终结,则进行任务优雅停止处理。4.一种服务器任务停止方法,其特征在于,应用于第二服务器,所述方法包括:通过任务名找到HDFS上的任务驱动器信息并向第一服务器发送连接请求,并与所述第一服务器建立连接通道;发送第一请求指令至所述第一服务器,所述第一请求指令解析后可被所述第一服务器执行;接收所述第一服务器对解析后的第一请求指令执行的结果,当解析后的第一请求指令为优雅停止时,则接收调用实时流式处理上下文和停止函数优雅停止与所述任务驱动器信息相匹配的任务的处理结果。5.根据权利要求4所述的服务器任务停止方法,其特征在于,所述接收所述第一服务器对解析后的第一请求指令执行的结果,包括:当所述第一请求指令解析后为立即停止时,则获取直接调用停止函数并直接关闭所述实时流式处理上下文的处理结果;当所述第一请求指令的内容无法解析...
【专利技术属性】
技术研发人员:黄凯旋,
申请(专利权)人:臻乐尔科技服务上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。