本發(fā)明涉及數(shù)據(jù)處理,具體為一種任務(wù)調(diào)度的優(yōu)化方法。
背景技術(shù):
1、隨著企業(yè)數(shù)據(jù)的飛速增長(zhǎng),對(duì)大數(shù)據(jù)技術(shù)的要求越來(lái)越高,對(duì)于大數(shù)據(jù)量的任務(wù)調(diào)度,如何快速高效的利用服務(wù)器資源完成數(shù)據(jù)任務(wù)的處理,是大數(shù)據(jù)技術(shù)中的一個(gè)重要課題。
2、現(xiàn)有的任務(wù)調(diào)度,一般是本著先來(lái)先服務(wù)的任務(wù)處理方式,即所有任務(wù)被統(tǒng)一提交至一個(gè)隊(duì)列中,然后按照提交順序依次處理任務(wù)。但該種方式存在,如果是耗時(shí)很長(zhǎng)的任務(wù),會(huì)消耗大量資源處理,造成后續(xù)任務(wù)長(zhǎng)時(shí)間等待堵塞,處理效率很低。
3、因此,需要一種更加合理的任務(wù)調(diào)度方法,提升對(duì)服務(wù)器資源的使用率,以及任務(wù)處理的效率。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種任務(wù)調(diào)度的優(yōu)化方法,以解決上述背景技術(shù)中提出的問(wèn)題。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種任務(wù)調(diào)度的優(yōu)化方法,包括如下步驟:
3、步驟s1:將服務(wù)器資源根據(jù)不同用戶(hù)對(duì)任務(wù)處理的需求,分配不同的服務(wù)器資源;
4、步驟s2:在不同用戶(hù)下,用戶(hù)根據(jù)提交任務(wù)的歷史耗時(shí),將提交的任務(wù)分配至不同的隊(duì)列,并制定不同隊(duì)列資源可使用的上限;
5、步驟s3:在不同的隊(duì)列下,通過(guò)resource?maneger對(duì)分配的資源進(jìn)行監(jiān)控,對(duì)于同一個(gè)用戶(hù)user下的不同隊(duì)列queue,當(dāng)一個(gè)隊(duì)列如queue1有空閑時(shí),將資源分配至queue2隊(duì)列,保證服務(wù)器資源的最大化使用。
6、優(yōu)選的,所述resource?maneger由以下幾個(gè)部分組成:用戶(hù)交互模塊、nm管理模塊、am管理模塊、application管理模塊、狀態(tài)機(jī)管理模塊、安全管理模塊和資源分配模塊。
7、優(yōu)選的,所述用戶(hù)交互模塊分別針對(duì)普通用戶(hù)、管理員和web提供三種對(duì)外服務(wù),具體實(shí)現(xiàn)分別對(duì)應(yīng):clientrmservice、adminservice和webapp;
8、clientrmservice為普通用戶(hù)提供服務(wù),clientrmservice處理不同用戶(hù)對(duì)任務(wù)處理的需求;
9、adminservice為管理員提供一套獨(dú)立的服務(wù)接口,防止大量的普通用戶(hù)請(qǐng)求使管理員發(fā)送的管理命名失效,管理員通過(guò)服務(wù)接口管理集群,如動(dòng)態(tài)更新節(jié)點(diǎn)列表、更新acl列表、更新隊(duì)列信息;
10、webapp用于展示集群資源使用情況和應(yīng)用程序狀態(tài)信息。
11、優(yōu)選的,所述nm管理模塊包括以下組件:
12、nmlivelinessmonitor,nmlivelinessmonitor用于監(jiān)控nm是否運(yùn)行,如果一個(gè)nodemanager在一定時(shí)間內(nèi)未匯報(bào)信息,則認(rèn)為未運(yùn)行,需從集群中移除;
13、nodeslistmanager,nodeslistmanager維護(hù)正常節(jié)點(diǎn)和異常節(jié)點(diǎn)列表,管理exclude和include節(jié)點(diǎn)列表;
14、resource?trackerservice,resource?trackerservice處理來(lái)自nodemanager的請(qǐng)求,主要包括注冊(cè)和運(yùn)行兩種請(qǐng)求,其中,注冊(cè)時(shí)nodemanager啟動(dòng)時(shí)發(fā)生的行為,請(qǐng)求包中包含節(jié)點(diǎn)id、可用的資源上限行為;運(yùn)行時(shí)周期性行為,包含各個(gè)container運(yùn)行狀態(tài)、運(yùn)行的application列表、節(jié)點(diǎn)資源狀況等信息,作為請(qǐng)求的應(yīng)答。
15、優(yōu)選的,所述application管理模塊包括以下組件:
16、applicationaclsmanager管理應(yīng)用程序訪問(wèn)權(quán)限,包含兩部分權(quán)限:查看權(quán)限和修改權(quán)限,查看權(quán)限用于查看應(yīng)用程序基本信息,修改權(quán)利用于修改應(yīng)用程序優(yōu)先級(jí)和殺死應(yīng)用程序;
17、rmappmanager管理應(yīng)用程序的啟動(dòng)和關(guān)閉;
18、containerallocationexpirer當(dāng)am收到rm新分配的一個(gè)container后,在一定時(shí)間內(nèi)在對(duì)應(yīng)的nm上啟動(dòng)container,否則rm將強(qiáng)制回收該container。
19、優(yōu)選的,所述狀態(tài)機(jī)管理模塊resourcemanager使用有限狀態(tài)機(jī)維護(hù)有狀態(tài)對(duì)象的生命周期,resourcemanager維護(hù)四類(lèi)狀態(tài)機(jī),分別為rmapp、rmappattempt、rmcontainer和rmnode。
20、優(yōu)選的,所述rmapp維護(hù)應(yīng)用程序的整個(gè)運(yùn)行周期,包括從啟動(dòng)到運(yùn)行結(jié)束整個(gè)過(guò)程;
21、所述rmappattempt用于維護(hù)一次運(yùn)行嘗試的整個(gè)生命周期;
22、所述rmcontainer維護(hù)了一個(gè)container的運(yùn)行周期,包括從創(chuàng)建到運(yùn)行結(jié)束整個(gè)過(guò)程;
23、所述rmnode維護(hù)了一個(gè)nodemanager的生命周期,包括啟動(dòng)到運(yùn)行結(jié)束整個(gè)過(guò)程。
24、優(yōu)選的,所述安全管理模塊resourcemanager自帶權(quán)限管理機(jī)制。
25、優(yōu)選的,所述資源分配模塊包括resourcescheduler,resourcescheduler的資源調(diào)度器,resourcescheduler為插撥式模塊。
26、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
27、1、通過(guò)對(duì)不同用戶(hù)下隊(duì)列的劃分,將任務(wù)進(jìn)行并行執(zhí)行,不會(huì)因?yàn)楹臅r(shí)過(guò)長(zhǎng)的任務(wù)造成堵塞;
28、2、通過(guò)resource?maneger監(jiān)控資源的使用,保證空閑資源最大化利用。
1.一種任務(wù)調(diào)度的優(yōu)化方法,其特征在于:包括如下步驟:
2.根據(jù)權(quán)利要求1所述的一種任務(wù)調(diào)度的優(yōu)化方法,其特征在于:所述resourcemaneger由以下幾個(gè)部分組成:用戶(hù)交互模塊、nm管理模塊、am管理模塊、application管理模塊、狀態(tài)機(jī)管理模塊、安全管理模塊和資源分配模塊。
3.根據(jù)權(quán)利要求2所述的一種任務(wù)調(diào)度的優(yōu)化方法,其特征在于:所述用戶(hù)交互模塊分別針對(duì)普通用戶(hù)、管理員和web提供三種對(duì)外服務(wù),具體實(shí)現(xiàn)分別對(duì)應(yīng):clientrmservice、adminservice和webapp;
4.根據(jù)權(quán)利要求2所述的一種任務(wù)調(diào)度的優(yōu)化方法,其特征在于:所述nm管理模塊包括以下組件:
5.根據(jù)權(quán)利要求2所述的一種任務(wù)調(diào)度的優(yōu)化方法,其特征在于:所述application管理模塊包括以下組件:
6.根據(jù)權(quán)利要求2所述的一種任務(wù)調(diào)度的優(yōu)化方法,其特征在于:所述狀態(tài)機(jī)管理模塊resourcemanager使用有限狀態(tài)機(jī)維護(hù)有狀態(tài)對(duì)象的生命周期,resourcemanager維護(hù)四類(lèi)狀態(tài)機(jī),分別為rmapp、rmappattempt、rmcontainer和rmnode。
7.根據(jù)權(quán)利要求6所述的一種任務(wù)調(diào)度的優(yōu)化方法,其特征在于:所述rmapp維護(hù)應(yīng)用程序的整個(gè)運(yùn)行周期,包括從啟動(dòng)到運(yùn)行結(jié)束整個(gè)過(guò)程;
8.根據(jù)權(quán)利要求2所述的一種任務(wù)調(diào)度的優(yōu)化方法,其特征在于:所述安全管理模塊resourcemanager自帶權(quán)限管理機(jī)制。
9.根據(jù)權(quán)利要求2所述的一種任務(wù)調(diào)度的優(yōu)化方法,其特征在于:所述資源分配模塊包括resourcescheduler,resourcescheduler的資源調(diào)度器,resourcescheduler為插撥式模塊。