CN109491841A - 一种提高Spark on yarn实时任务可靠性的方法 - Google Patents
一种提高Spark on yarn实时任务可靠性的方法 Download PDFInfo
- Publication number
- CN109491841A CN109491841A CN201811393037.XA CN201811393037A CN109491841A CN 109491841 A CN109491841 A CN 109491841A CN 201811393037 A CN201811393037 A CN 201811393037A CN 109491841 A CN109491841 A CN 109491841A
- Authority
- CN
- China
- Prior art keywords
- task
- yarn
- information
- template
- goal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Factory Administration (AREA)
Abstract
本发明公开了一种提高Spark on yarn实时任务可靠性的方法,该方法主要是通过定时轮训Hadoop Yarn任务池的任务,再通过设定的模板解析目标任务的状态,然后根据解析得到的状态判断是否需要重启,如果需要重启则根据预置的启动命令模板拉起任务,必要时进行系统日志的记录和短信等渠道通知。这样可以有效提高实时任务的高可用性和系统的健壮性以及任务相关的可维护性,提高大数据处于过程的健壮性,最终避免任务因为失败而等待或者重复提交,提高大数据系统资源(时间和空间)的利用率。该方法可以用于任何基于Hadoop Yarn计算引擎的大数据处理应用或系统中。
Description
技术领域
本发明涉及大数据处理技术领域,尤其涉及一种提高Spark on yarn实时任务可靠性的方法。
背景技术
在大数据时代,数据正在迅速膨胀变大,它决定着企业的未来发展,随着时间的推移,人们将越来越多的意识到数据对企业的重要性,大数据有效、可靠的处理成为了当前数据应用的关键。Hadoop作为大数据存储框架和计算引擎广泛的应用于大数据处理领域。
Spark作为大规模数据处理而设计的快速通用的计算框架,成为了分布式处理的首选框架。以Spark作为计算框架,Hadoop yarn作为计算引擎的Spark on yarn的大数据处理方案被广泛应用于大数据处理领域。
Spark on yarn的实时任务主要是完成处理实时计算任务,任务的可靠性对大数据处理的稳定性和有效性以及处理效率至关重要,任务长时间挂起甚至对整个大数据处理系统而言是致命的。因此如果保证Spark on yarn实时任务的有效性显得尤为重要。
发明内容
根据现有技术存在的问题,本发明公开了一种提高Spark on yarn实时任务可靠性的方法,该方法通过监控Hadoop yarn任务的状态,在异常情况下及时重启启动,提高任务的稳定性,从而提高大数据处理系统的稳定性。具体方案包括以下步骤:
步骤1:设置任务解析模板,用来在Hadoop yarn任务池中解析目标任务,包括了任务ID、任务名称、任务类型、任务状态、任务发起的URL。
步骤2:设置任务启动命令模板,用来在任务异常情况下重新启动目标任务,命令模板包括Spark-submit所有需要的参数,基本参数描述如下:
1、master:交任务到哪里执行
2、deploy-mode:在本地(client)启动driver或在cluster上启动
3、driver-memory:在本地(client)启动driver或在cluster上启动
4、executor-memory:每个executor的内存
5、executor-cores:每个executor的核数
6、num-executors:启动的executor数量
步骤3:部署一个监控程序,该程序也可以内嵌在既有的系统中,和具体语言无关和平台,程序中定时触发对任务的监控检查;
步骤4:基于步骤3通过Hadoop的shell命令yarn application或者Hadoop提供的基于http查询接口获取所有Hadoop yarn的所有任务信息。
步骤5:根据任务解析模板的目标任务参数,在所有任务信息中寻找目标任务信息,主要是分析到既定任务的当前任务状态;
步骤6:判断任务是否正常,如果异常,根据设定的任务命令魔板,在程序中调用shell命令重新启动目标任务;
步骤8:如果任务异常,记录系统日志,系统日志可以记录在数据库中;
步骤9:如果任务异常,通过短信或者邮件等形式通知给维护人员,以便分析任务异常导致的影响,进一步采取补救措施。
由于采用了上述技术方案,本发明提供的本发明是提高Spark on yarn实时任务的一种有效方法。主要是通过定时轮训Hadoop Yarn任务池的任务,再通过设定的模板解析目标任务的状态,然后根据解析得到的状态判断是否需要重启,如果需要重启则根据预置的启动命令模板拉起任务,必要时进行系统日志的记录和短信等渠道通知。这样可以有效提高实时任务的高可用性和系统的健壮性以及任务相关的可维护性,提高大数据处于过程的健壮性,最终避免任务因为失败而等待或者重复提交,提高大数据系统资源(时间和空间)的利用率。该方法可以用于任何基于Hadoop Yarn计算引擎的大数据处理应用或系统中。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法的原理图。
具体实施方式
为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
如图1所示的一种提高Spark on yarn实时任务可靠性的方法,包括以下步骤:
S1:设置任务解析模板,该任务解析模板在Hadoop yarn任务池中解析目标任务;
S2:设置任务启动命令模板,任务启动命令模板用来在任务异常情况下重新启动目标任务;
S3:部署启动程序定时检查任务状态;
S4:获取所有Hadoop yarn的所有任务信息;
S5:根据任务解析模板的目标任务参数,在所有任务信息中寻找目标任务信息;
S6:判断目标任务是否正常,如果异常,则根据设定的任务命令模板在程序中调用shell命令重新启动目标任务,如果目标任务异常则记录系统日志并通过短信或邮件形式通知维护人员。
进一步的,S3中部署监控程序,所述监控程序定时获取目标任务的状态,在状态异常情况下通过shell命令重启任务,记录系统日志,将异常消息以短信或者邮件等方式发给维护人员。这样可以提高的可维护性。
进一步的,S1中在设置解析模板时包括设置任务的ID信息、任务名称信息、任务类型信息、任务状态信息和任务发起的URL信息。
进一步的,S4中在获取所有Hadoop yarn的所有任务信息,该信息包括任务ID信息、任务名称信息、任务类型信息、任务状态信息和任务发起的URL信息。
进一步的,S6中采用shell命令结合命令模板重启任务,其中命令模板包括Spark-Submit命令参数。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种提高Spark on yarn实时任务可靠性的方法,其特征在于包括以下步骤:
S1:设置任务解析模板,该任务解析模板在Hadoop yarn任务池中解析目标任务;
S2:设置任务启动命令模板,任务启动命令模板用来在任务异常情况下重新启动目标任务;
S3:部署启动程序定时检查任务状态;
S4:获取所有Hadoop yarn的所有任务信息;
S5:根据任务解析模板的目标任务参数,在所有任务信息中寻找目标任务信息;
S6:判断目标任务是否正常,如果异常,则根据设定的任务命令模板在程序中调用shell命令重新启动目标任务,如果目标任务异常则记录系统日志并通过短信或邮件形式通知维护人员。
2.根据权利要求1所述的一种提高Spark on yarn实时任务可靠性的方法,其特征还在于:S3中部署监控程序,所述监控程序定时获取目标任务的状态,在状态异常情况下通过shell命令重启任务。
3.根据权利要求1所述的一种提高Spark on yarn实时任务可靠性的方法,其特征还在于:S1中在设置解析模板时包括设置任务的ID信息、任务名称信息、任务类型信息、任务状态信息和任务发起的URL信息。
4.根据权利要求1所述的一种提高Spark on yarn实时任务可靠性的方法,其特征还在于:S4中在获取所有Hadoop yarn的所有任务信息,该信息包括任务ID信息、任务名称信息、任务类型信息、任务状态信息和任务发起的URL信息。
5.根据权利要求1所述的一种提高Spark on yarn实时任务可靠性的方法,其特征还在于:S6中采用shell命令结合命令模板重启任务,其中命令模板包括Spark-Submit命令参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811393037.XA CN109491841A (zh) | 2018-11-21 | 2018-11-21 | 一种提高Spark on yarn实时任务可靠性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811393037.XA CN109491841A (zh) | 2018-11-21 | 2018-11-21 | 一种提高Spark on yarn实时任务可靠性的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109491841A true CN109491841A (zh) | 2019-03-19 |
Family
ID=65697187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811393037.XA Pending CN109491841A (zh) | 2018-11-21 | 2018-11-21 | 一种提高Spark on yarn实时任务可靠性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109491841A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928721A (zh) * | 2020-01-22 | 2020-03-27 | 北京懿医云科技有限公司 | 任务执行方法与装置、电子设备、存储介质 |
CN111581059A (zh) * | 2020-05-09 | 2020-08-25 | 深圳市卡数科技有限公司 | 一种Spark应用监控方法、系统、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936860A (zh) * | 2015-12-29 | 2017-07-07 | 研祥智能科技股份有限公司 | 一种基于终端设备的监控系统及方法 |
CN107870948A (zh) * | 2016-09-28 | 2018-04-03 | 平安科技(深圳)有限公司 | 任务调度方法和装置 |
CN108845884A (zh) * | 2018-06-15 | 2018-11-20 | 中国平安人寿保险股份有限公司 | 物理资源分配方法、装置、计算机设备和存储介质 |
US10305747B2 (en) * | 2016-06-23 | 2019-05-28 | Sap Se | Container-based multi-tenant computing infrastructure |
-
2018
- 2018-11-21 CN CN201811393037.XA patent/CN109491841A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936860A (zh) * | 2015-12-29 | 2017-07-07 | 研祥智能科技股份有限公司 | 一种基于终端设备的监控系统及方法 |
US10305747B2 (en) * | 2016-06-23 | 2019-05-28 | Sap Se | Container-based multi-tenant computing infrastructure |
CN107870948A (zh) * | 2016-09-28 | 2018-04-03 | 平安科技(深圳)有限公司 | 任务调度方法和装置 |
CN108845884A (zh) * | 2018-06-15 | 2018-11-20 | 中国平安人寿保险股份有限公司 | 物理资源分配方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928721A (zh) * | 2020-01-22 | 2020-03-27 | 北京懿医云科技有限公司 | 任务执行方法与装置、电子设备、存储介质 |
CN111581059A (zh) * | 2020-05-09 | 2020-08-25 | 深圳市卡数科技有限公司 | 一种Spark应用监控方法、系统、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10747591B2 (en) | Endpoint process state collector | |
US10152382B2 (en) | Method and system for monitoring virtual machine cluster | |
AU2012217636B2 (en) | Restarting data processing systems | |
CN108804215B (zh) | 一种任务处理方法、装置以及电子设备 | |
US20200117587A1 (en) | Log File Analysis | |
US20080172421A1 (en) | Automated client recovery and service ticketing | |
CN103077107B (zh) | 一种数据维护方法及系统 | |
CN109491841A (zh) | 一种提高Spark on yarn实时任务可靠性的方法 | |
CN111753169B (zh) | 一种基于互联网的数据采集系统 | |
CN106547861A (zh) | 一种智能管理机器节点的数据库的方法及装置 | |
CN111796954A (zh) | 基于jvm的看门狗的控制方法、装置、设备及存储介质 | |
CN103699533A (zh) | 获取web更新信息的方法和系统 | |
CN113268318A (zh) | 一种任务调度的方法和分布式系统 | |
CN103178977A (zh) | 计算机系统及计算机系统的开机管理方法 | |
CN102098335A (zh) | 一种系统间集成的同步事务异常处理方法和装置 | |
US20180081910A1 (en) | Database Shutdown and Restart Stability Optimizer | |
CA2885598C (en) | Method, server and agent for monitoring user interaction patterns | |
CN111813518A (zh) | 机器人预警方法、装置、计算机设备及存储介质 | |
CN107632899B (zh) | 一种应用服务器的快照服务方法及装置 | |
CN111245917A (zh) | 一种基于katalon的工单录入装置及其实现方法 | |
CN108958840A (zh) | 一种集群配置动态探测合并加载方法 | |
CN110597609A (zh) | 一种集群迁移与自动恢复方法及系统 | |
JP2005018179A (ja) | 障害監視装置 | |
JP6353759B2 (ja) | テスト実行装置、テスト実行方法およびコンピュータプログラム | |
CN114356643B (zh) | 一种遥感卫星处理系统中自动发现任务失败和恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190319 |
|
RJ01 | Rejection of invention patent application after publication |