一種基于用戶行為分析的Hadoop集群作業(yè)調(diào)度方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種基于用戶行為分析的Hadoop集群作業(yè)調(diào)度方法及裝置,包括以下步驟:收集Hadoop集群產(chǎn)生的日志文件,根據(jù)日志文件創(chuàng)建日志數(shù)據(jù)表,將日志數(shù)據(jù)表存儲于數(shù)據(jù)庫中,并定時將存儲于數(shù)據(jù)庫中的日志數(shù)據(jù)表轉(zhuǎn)存到Hive集群中;根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到每個資源組在任一時間區(qū)間內(nèi)提交作業(yè)的作業(yè)數(shù)量及各資源組提交作業(yè)的作業(yè)類型;根據(jù)每個資源組提交作業(yè)的作業(yè)類型和作業(yè)數(shù)量,確定各資源組的最小資源占用限額;在資源組提交作業(yè)后,根據(jù)該資源組對應(yīng)的最小資源占用限額調(diào)度大于等于最小資源占用限額的資源進(jìn)行處理提交的作業(yè)。本發(fā)明能夠?yàn)樽鳂I(yè)級的調(diào)度提供準(zhǔn)確和真實(shí)的依據(jù)。
【專利說明】-種基于用戶行為分析的Hadoop集群作業(yè)調(diào)度方法及裝
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及云計(jì)算領(lǐng)域,特別涉及一種基于用戶行為分析的Hadoop集群作業(yè)調(diào) 度方法及裝置。
【背景技術(shù)】
[0002] Hadoop作為MapReduce和GFS的開源實(shí)現(xiàn)已廣泛應(yīng)用于工業(yè)界和研究領(lǐng)域,而處 于計(jì)算核心位置的MapReduce也成為最成功的海量數(shù)據(jù)計(jì)算模型,其中MapReduce作業(yè)調(diào) 度策略作為一個關(guān)鍵問題,將直接影響到海量數(shù)據(jù)查詢處理的執(zhí)行效率。
[0003] MapReduce作業(yè)調(diào)度朿略一般分為兩個層面,作業(yè)層和任務(wù)層。作業(yè)層王要考慮 不同用戶提交的作業(yè)以何種方式和順序開始運(yùn)行,而任務(wù)層則是考慮已被調(diào)度的作業(yè)內(nèi)的 Task在哪個申請節(jié)點(diǎn)運(yùn)行。
[0004] 目前,關(guān)于MapReduce的作業(yè)層面上的作業(yè)調(diào)度策略的研究很多。FIFO調(diào)度算法 是最簡單直觀的MapReduce調(diào)度算法。所有作業(yè)都被提交到一個隊(duì)列中,按照提交的時間 先后順序選擇一個作業(yè)執(zhí)行。Fair Scheduler調(diào)度算法由Facebook公司提出,它的目標(biāo)是 使每個用戶都能公平的共享整個集群的計(jì)算能力,它主要包括兩個部分,最小共享資源量 以及公平共享資源量。FairScheduler調(diào)度算法為每個用戶組建立一個單獨(dú)的作業(yè)池,每個 作業(yè)池都擁有最小共享資源,集群剩余的資源以盡量公平的方式分配給各用戶組。當(dāng)用戶 組需要的資源小于最小共享資源時,空閑資源可根據(jù)公平原則分配給相應(yīng)的用戶組進(jìn)行使 用,待該用戶組需求資源量增加并超過等待時間時,再以搶占的方式將屬于自己的資源占 用。Capacity Scheduler調(diào)度算法由雅虎公司提出,它支持多個隊(duì)列,每個隊(duì)列可配置一定 的資源。在隊(duì)列內(nèi)部采用FIFO調(diào)度。與公平調(diào)度相似,計(jì)算能力調(diào)度允許各個隊(duì)列分享己 經(jīng)被分配但處于空閑狀態(tài)的資源,但不支持搶占,只有當(dāng)前作業(yè)釋放相應(yīng)資源且原隊(duì)列有 新的資源請求時,才會將資源分配回所屬隊(duì)列。
[0005] 上述三種調(diào)度算法為現(xiàn)在Hadoop中基礎(chǔ)的調(diào)度算法。FIFO調(diào)度算法實(shí)現(xiàn)簡單,調(diào) 度開銷小,能夠保證作業(yè)按照時間順序運(yùn)行,但FIFO調(diào)度容易出現(xiàn)大作業(yè)獨(dú)占集群資源, 造成任務(wù)的阻塞,從而使小作業(yè)往往得不到快速的響應(yīng),而一般情況下小作業(yè)均有實(shí)時性 要求。Fair Scheduler調(diào)度算法,保證了不同用戶在資源分配上的公平性。然而它只專注于 用戶的公平而忽視了作業(yè)之間的差異,也未充分考慮用戶組需求隨時間的變化。Capacity Scheduler保證了同一用戶的作業(yè)不能獨(dú)占資源,并且能夠有效地處理各類型的作業(yè),但是 它并沒有全面考慮各資源特征的分配是否滿足作業(yè)多樣的服務(wù)要求。
[0006] 當(dāng)前公平調(diào)度器的最低資源配額的確定一旦確定,就不會再更改。首先,這種方式 沒有充分考慮到各用戶組資源需求在時間上的動態(tài)變化,從而導(dǎo)致在資源分配上不公平情 況的出現(xiàn),尤其是在某一時間段內(nèi),大部分資源組均需要最低配額而某一個或多個資源組 出現(xiàn)作業(yè)集中提交的情況。其次,原有的調(diào)度算法并未考慮各用戶組所提交的作業(yè)類型的 區(qū)別,并沒有按照實(shí)際的作業(yè)資源需求類型進(jìn)行劃分,容易造成作業(yè)不公平調(diào)度情況的出 現(xiàn)。
[0007] 綜上所述,雖然現(xiàn)有的調(diào)度算法,在保證作業(yè)的執(zhí)行以及資源的合理分配上做了 一定的優(yōu)化,但是都沒有充分考慮用戶組需求的動態(tài)變化,造成資源分配不合理。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明所要解決的技術(shù)問題是提供一種實(shí)現(xiàn)用戶資源的動態(tài)公平分配的基于用 戶行為分析的Hadoop集群作業(yè)調(diào)度方法及裝置。
[0009] 本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于用戶行為分析的Hadoop集 群作業(yè)調(diào)度方法,包括以下步驟:
[0010] 步驟1 :收集Hadoop集群產(chǎn)生的用于記錄各資源組提交的作業(yè)的日志文件,根據(jù) 日志文件創(chuàng)建日志數(shù)據(jù)表,將日志數(shù)據(jù)表存儲于數(shù)據(jù)庫中,并定時將存儲于數(shù)據(jù)庫中的日 志數(shù)據(jù)表轉(zhuǎn)存到Hive集群中;
[0011] 步驟2 :根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到每個資源組在任一時間區(qū)間 內(nèi)提交作業(yè)的作業(yè)數(shù)量;
[0012] 步驟3 :根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到各資源組提交作業(yè)的作業(yè)類 型;
[0013] 步驟4 :根據(jù)每個資源組提交作業(yè)的作業(yè)類型和該資源組提交作業(yè)的作業(yè)數(shù)量占 所有資源組提交作業(yè)的作業(yè)數(shù)量的比例,確定各資源組的最小資源占用限額;
[0014] 步驟5 :在資源組提交作業(yè)后,根據(jù)該資源組對應(yīng)的最小資源占用限額調(diào)度大于 等于最小資源占用限額的資源進(jìn)行處理提交的作業(yè)。
[0015] 本發(fā)明的有益效果是:通過日志分析,能夠更真實(shí)的反映集群以及作業(yè)的一般特 點(diǎn);通過統(tǒng)計(jì)作業(yè)提交的一般規(guī)律,能夠?yàn)樽鳂I(yè)級的調(diào)度提供準(zhǔn)確和真實(shí)的依據(jù);通過統(tǒng) 計(jì)作業(yè)的類型及各類Task的運(yùn)行時間,能夠更準(zhǔn)確的進(jìn)行作業(yè)在任務(wù)級的調(diào)度。
[0016] 在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0017] 進(jìn)一步,所述作業(yè)類型包括作業(yè)的大小和作業(yè)的資源占用量。
[0018] 進(jìn)一步,當(dāng)刪除任一資源組時,將該資源組所占用的資源按其他未被刪除的資源 組提交作業(yè)的作業(yè)數(shù)量占所有資源組提交作業(yè)的作業(yè)數(shù)量的比例,分配給其他未被刪除的 資源組。
[0019] 進(jìn)一步,當(dāng)增加任一資源組時,為該增加的資源組分配一個默認(rèn)的最小資源占用 限額,隨著該增加的資源組提交的作業(yè)的作業(yè)數(shù)量的變化,重新計(jì)算每個資源組的最小資 源占用限額。
[0020] 進(jìn)一步,所述數(shù)據(jù)庫,用于存儲實(shí)時查詢各個作業(yè)的執(zhí)行狀態(tài)的日志數(shù)據(jù)表;所述 Hive集群,用于永久保存日志數(shù)據(jù)表。
[0021] 進(jìn)一步,一種基于用戶行為分析的Hadoop集群作業(yè)調(diào)度裝置,包括Hadoop集群, 收集創(chuàng)建模塊,數(shù)據(jù)庫,轉(zhuǎn)存模塊,Hive集群,計(jì)算模塊和調(diào)度模塊;
[0022] 所述Hadoop集群,用于產(chǎn)生用于記錄各資源組提交的作業(yè)的日志文件;
[0023] 所述收集創(chuàng)建模塊,用于收集Hadoop集群產(chǎn)生的日志文件,根據(jù)日志文件創(chuàng)建日 志數(shù)據(jù)表,將日志數(shù)據(jù)表存儲于數(shù)據(jù)庫中;
[0024] 所述數(shù)據(jù)庫,用于存儲創(chuàng)建模塊發(fā)送的日志數(shù)據(jù)表;
[0025] 所述轉(zhuǎn)存模塊,用于定時將存儲于數(shù)據(jù)庫中的日志數(shù)據(jù)表轉(zhuǎn)存到Hive集群中;
[0026] 所述Hive集群,用于存儲轉(zhuǎn)存模塊發(fā)送的日志數(shù)據(jù)表;
[0027] 所述計(jì)算模塊,用于根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到每個資源組在任 一時間區(qū)間內(nèi)提交作業(yè)的作業(yè)數(shù)量;根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到各資源組 提交作業(yè)的作業(yè)類型;根據(jù)每個資源組提交作業(yè)的作業(yè)類型和該資源組提交作業(yè)的作業(yè)數(shù) 量占所有資源組提交作業(yè)的作業(yè)數(shù)量的比例,確定各資源組的最小資源占用限額;
[0028] 所述調(diào)度模塊,用于在資源組提交作業(yè)后,根據(jù)該資源組對應(yīng)的最小資源占用限 額調(diào)度大于等于最小資源占用限額的資源進(jìn)行處理提交的作業(yè)。
[0029] 進(jìn)一步,所述作業(yè)類型包括作業(yè)的大小和作業(yè)的資源占用量。
[0030] 進(jìn)一步,當(dāng)刪除任一資源組時,將該資源組所占用的資源按其他未被刪除的資源 組提交作業(yè)的作業(yè)數(shù)量占所有資源組提交作業(yè)的作業(yè)數(shù)量的比例,分配給其他未被刪除的 資源組。
[0031] 進(jìn)一步,當(dāng)增加任一資源組時,為該增加的資源組分配一個默認(rèn)的最小資源占用 限額,隨著該增加的資源組提交的作業(yè)的作業(yè)數(shù)量的變化,重新計(jì)算每個資源組的最小資 源占用限額。
[0032] 進(jìn)一步,所述數(shù)據(jù)庫,用于存儲實(shí)時查詢各個作業(yè)的執(zhí)行狀態(tài)的日志數(shù)據(jù)表;所述 Hi ve集群,用于永久保存日志數(shù)據(jù)表。
【專利附圖】
【附圖說明】
[0033] 圖1為本發(fā)明方法步驟流程圖;
[0034] 圖2為本發(fā)明裝置結(jié)構(gòu)圖。
[0035] 附圖中,各標(biāo)號所代表的部件列表如下:
[0036] 1、Hadoop集群,2、收集創(chuàng)建模塊,3、數(shù)據(jù)庫,4、轉(zhuǎn)存模塊,5、Hive集群,6、計(jì)算模 塊,7、調(diào)度模塊。
【具體實(shí)施方式】
[0037] 以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并 非用于限定本發(fā)明的范圍。
[0038] 圖1為本發(fā)明方法步驟流程圖;圖2為本發(fā)明裝置結(jié)構(gòu)圖。
[0039] 實(shí)施例1
[0040] 一種基于用戶行為分析的Hadoop集群作業(yè)調(diào)度方法,包括以下步驟:
[0041] 步驟1 :收集Hadoop集群產(chǎn)生的用于記錄各資源組提交的作業(yè)的日志文件,根據(jù) 日志文件創(chuàng)建日志數(shù)據(jù)表,將日志數(shù)據(jù)表存儲于數(shù)據(jù)庫中,并定時將存儲于數(shù)據(jù)庫中的日 志數(shù)據(jù)表轉(zhuǎn)存到Hive集群中;
[0042] 步驟2 :根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到每個資源組在任一時間區(qū)間 內(nèi)提交作業(yè)的作業(yè)數(shù)量;
[0043] 步驟3 :根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到各資源組提交作業(yè)的作業(yè)類 型;
[0044] 步驟4 :根據(jù)每個資源組提交作業(yè)的作業(yè)類型和該資源組提交作業(yè)的作業(yè)數(shù)量占 所有資源組提交作業(yè)的作業(yè)數(shù)量的比例,確定各資源組的最小資源占用限額;
[0045] 步驟5 :在資源組提交作業(yè)后,根據(jù)該資源組對應(yīng)的最小資源占用限額調(diào)度大于 等于最小資源占用限額的資源進(jìn)行處理提交的作業(yè)。
[0046] 所述作業(yè)類型包括作業(yè)的大小和作業(yè)的資源占用量。
[0047] 當(dāng)刪除任一資源組時,將該資源組所占用的資源按其他未被刪除的資源組提交作 業(yè)的作業(yè)數(shù)量占所有資源組提交作業(yè)的作業(yè)數(shù)量的比例,分配給其他未被刪除的資源組。 [0048] 當(dāng)增加任一資源組時,為該增加的資源組分配一個默認(rèn)的最小資源占用限額,隨 著該增加的資源組提交的作業(yè)的作業(yè)數(shù)量的變化,重新計(jì)算每個資源組的最小資源占用限 額。
[0049] 所述數(shù)據(jù)庫,用于存儲實(shí)時查詢各個作業(yè)的執(zhí)行狀態(tài)的日志數(shù)據(jù)表;所述Hive集 群,用于永久保存日志數(shù)據(jù)表。
[0050] -種基于用戶行為分析的Hadoop集群作業(yè)調(diào)度裝置,包括Hadoop集群1,收集創(chuàng) 建模塊2,數(shù)據(jù)庫3,轉(zhuǎn)存模塊4, Hive集群5,計(jì)算模塊6和調(diào)度模塊7 ;
[0051] 所述Hadoop集群1,用于產(chǎn)生用于記錄各資源組提交的作業(yè)的日志文件;
[0052] 所述收集創(chuàng)建模塊2,用于收集Hadoop集群產(chǎn)生的日志文件,根據(jù)日志文件創(chuàng)建 日志數(shù)據(jù)表,將日志數(shù)據(jù)表存儲于數(shù)據(jù)庫中;
[0053] 所述數(shù)據(jù)庫3,用于存儲創(chuàng)建模塊2發(fā)送的日志數(shù)據(jù)表;
[0054] 所述轉(zhuǎn)存模塊4,用于定時將存儲于數(shù)據(jù)庫中的日志數(shù)據(jù)表轉(zhuǎn)存到Hive集群中;
[0055] 所述Hive集群5,用于存儲轉(zhuǎn)存模塊4發(fā)送的日志數(shù)據(jù)表;
[0056] 所述計(jì)算模塊6,用于根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到每個資源組在 任一時間區(qū)間內(nèi)提交作業(yè)的作業(yè)數(shù)量;根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到各資源 組提交作業(yè)的作業(yè)類型;根據(jù)每個資源組提交作業(yè)的作業(yè)類型和作業(yè)數(shù)量,確定各資源組 的最小資源占用限額;
[0057] 所述調(diào)度模塊7,用于在資源組提交作業(yè)后,根據(jù)該資源組對應(yīng)的最小資源占用限 額調(diào)度大于等于最小資源占用限額的資源進(jìn)行處理提交的作業(yè)。
[0058] 所述作業(yè)類型包括作業(yè)的大小和作業(yè)的資源占用量。
[0059] 當(dāng)刪除任一資源組時,將該資源組所占用的資源按其他未被刪除的資源組提交作 業(yè)的作業(yè)數(shù)量占所有資源組提交作業(yè)的作業(yè)數(shù)量的比例,分配給其他未被刪除的資源組。
[0060] 當(dāng)增加任一資源組時,為該增加的資源組分配一個默認(rèn)的最小資源占用限額,隨 著該增加的資源組提交的作業(yè)的作業(yè)數(shù)量的變化,重新計(jì)算每個資源組的最小資源占用限 額。
[0061] 所述數(shù)據(jù)庫,用于存儲實(shí)時查詢各個作業(yè)的執(zhí)行狀態(tài)的日志數(shù)據(jù)表;所述Hive集 群,用于永久保存日志數(shù)據(jù)表。
[0062] 在具體實(shí)施中,本發(fā)明主要包含三個方面:(1) Hadoop集群作業(yè)運(yùn)行日志分析,得 到相應(yīng)的統(tǒng)計(jì)數(shù)據(jù);(2)根據(jù)統(tǒng)計(jì)結(jié)果,分時段確定各用戶組的最低資源配額;(3)根據(jù)統(tǒng) 計(jì)結(jié)果,綜合運(yùn)行時集群狀態(tài),選擇備份任務(wù)節(jié)點(diǎn)。
[0063] 當(dāng)前公平調(diào)度器的最低資源配額一旦確定,就不會再更改。首先,這種方式?jīng)]有充 分考慮到各用戶組資源需求在時間上的動態(tài)變化,從而導(dǎo)致在資源分配上不公平情況的出 現(xiàn),尤其是在某一時間段內(nèi),大部分資源組均需要最低配額而某一個或多個資源組出現(xiàn)作 業(yè)集中提交的情況。其次,原有的調(diào)度算法并未考慮各用戶組所提交的作業(yè)類型的區(qū)別,并 沒有按照實(shí)際的作業(yè)資源需求類型進(jìn)行劃分,容易造成作業(yè)不公平調(diào)度情況的出現(xiàn)。
[0064] 基于上述原因,本發(fā)明通過對周期時間內(nèi)用戶組提交作業(yè)的情況進(jìn)行分析挖掘, 找到各用戶組提交作業(yè)隨時間變化的一般規(guī)律,以及各用戶組所提交作業(yè)類型的規(guī)律,以 此為依據(jù),對現(xiàn)有的調(diào)度算法進(jìn)行優(yōu)化改進(jìn)。
[0065] 通過對現(xiàn)有集群進(jìn)行分析發(fā)現(xiàn),絕大部分作業(yè)都是定時任務(wù),有少部分是即時任 務(wù)。因而,找到各用戶組提交作業(yè)隨時間變化的規(guī)律,并依據(jù)此信息動態(tài)的規(guī)劃各用戶組在 整個集群中的資源配額成為可行。另外,各用戶組所提交的作業(yè)之間存在差異,某些任務(wù) 需占用大量的集群資源,且運(yùn)行時間較長,而另一些作業(yè)則是占用少量集群資源,運(yùn)行時間 短,這類任務(wù)一般實(shí)時性要求較高。通過日志分析,可以找到各用戶組提交作業(yè)的一般類 型,包括作業(yè)的task數(shù)、占用CPU時間、占用內(nèi)存大小、中間結(jié)果大小等數(shù)據(jù),以這些數(shù)據(jù)和 用戶提交作業(yè)的一般規(guī)律相結(jié)合,便可更準(zhǔn)確的確定個用戶組最小共享資源。
[0066] 以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1. 一種基于用戶行為分析的Hadoop集群作業(yè)調(diào)度方法,其特征在于,包括以下步驟: 步驟1 :收集Hadoop集群產(chǎn)生的用于記錄各資源組提交的作業(yè)的日志文件,根據(jù)日志 文件創(chuàng)建日志數(shù)據(jù)表,將日志數(shù)據(jù)表存儲于數(shù)據(jù)庫中,并定時將存儲于數(shù)據(jù)庫中的日志數(shù) 據(jù)表轉(zhuǎn)存到Hive集群中; 步驟2 :根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到每個資源組在任一時間區(qū)間內(nèi)提 交作業(yè)的作業(yè)數(shù)量; 步驟3 :根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到各資源組提交作業(yè)的作業(yè)類型; 步驟4 :根據(jù)每個資源組提交作業(yè)的作業(yè)類型和該資源組提交作業(yè)的作業(yè)數(shù)量占所有 資源組提交作業(yè)的作業(yè)數(shù)量的比例,確定各資源組的最小資源占用限額; 步驟5:在資源組提交作業(yè)后,根據(jù)該資源組對應(yīng)的最小資源占用限額調(diào)度大于等于 最小資源占用限額的資源進(jìn)行處理提交的作業(yè)。
2. 根據(jù)權(quán)利要求1所述的Hadoop集群調(diào)度方法,其特征在于:所述作業(yè)類型包括作業(yè) 的大小和作業(yè)的資源占用量。
3. 根據(jù)權(quán)利要求1所述的Hadoop集群調(diào)度方法,其特征在于:當(dāng)刪除任一資源組時, 將該資源組所占用的資源按其他未被刪除的資源組提交作業(yè)的作業(yè)數(shù)量占所有資源組提 交作業(yè)的作業(yè)數(shù)量的比例,分配給其他未被刪除的資源組。
4. 根據(jù)權(quán)利要求1所述的Hadoop集群調(diào)度方法,其特征在于:當(dāng)增加任一資源組時, 為該增加的資源組分配一個默認(rèn)的最小資源占用限額,隨著該增加的資源組提交的作業(yè)的 作業(yè)數(shù)量的變化,重新計(jì)算每個資源組的最小資源占用限額。
5. 根據(jù)權(quán)利要求1所述的Hadoop集群調(diào)度方法,其特征在于:所述數(shù)據(jù)庫,用于存儲 實(shí)時查詢各個作業(yè)的執(zhí)行狀態(tài)的日志數(shù)據(jù)表;所述Hive集群,用于永久保存日志數(shù)據(jù)表。
6. -種基于用戶行為分析的Hadoop集群作業(yè)調(diào)度裝置,其特征在于:包括Hadoop集 群(1),收集創(chuàng)建模塊(2),數(shù)據(jù)庫(3),轉(zhuǎn)存模塊(4),Hive集群(5),計(jì)算模塊(6)和調(diào)度 模塊(7); 所述Hadoop集群(1),用于產(chǎn)生用于記錄各資源組提交的作業(yè)的日志文件; 所述收集創(chuàng)建模塊(2),用于收集Hadoop集群產(chǎn)生的日志文件,根據(jù)日志文件創(chuàng)建日 志數(shù)據(jù)表,將日志數(shù)據(jù)表存儲于數(shù)據(jù)庫中; 所述數(shù)據(jù)庫(3),用于存儲創(chuàng)建模塊(2)發(fā)送的日志數(shù)據(jù)表; 所述轉(zhuǎn)存模塊(4),用于定時將存儲于數(shù)據(jù)庫中的日志數(shù)據(jù)表轉(zhuǎn)存到Hive集群中; 所述Hive集群(5),用于存儲轉(zhuǎn)存模塊(4)發(fā)送的日志數(shù)據(jù)表; 所述計(jì)算模塊(6),用于根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到每個資源組在任 一時間區(qū)間內(nèi)提交作業(yè)的作業(yè)數(shù)量;根據(jù)存儲于Hive集群中的日志數(shù)據(jù)表,得到各資源組 提交作業(yè)的作業(yè)類型;根據(jù)每個資源組提交作業(yè)的作業(yè)類型和該資源組提交作業(yè)的作業(yè)數(shù) 量占所有資源組提交作業(yè)的作業(yè)數(shù)量的比例,確定各資源組的最小資源占用限額; 所述調(diào)度模塊(7),用于在資源組提交作業(yè)后,根據(jù)該資源組對應(yīng)的最小資源占用限額 調(diào)度大于等于最小資源占用限額的資源進(jìn)行處理提交的作業(yè)。
7. 根據(jù)權(quán)利要求6所述的Hadoop集群調(diào)度方法,其特征在于:所述作業(yè)類型包括作業(yè) 的大小和作業(yè)的資源占用量。
8. 根據(jù)權(quán)利要求6所述的Hadoop集群調(diào)度方法,其特征在于:當(dāng)刪除任一資源組時, 將該資源組所占用的資源按其他未被刪除的資源組提交作業(yè)的作業(yè)數(shù)量占所有資源組提 交作業(yè)的作業(yè)數(shù)量的比例,分配給其他未被刪除的資源組。
9. 根據(jù)權(quán)利要求1所述的Hadoop集群調(diào)度方法,其特征在于:當(dāng)增加任一資源組時, 為該增加的資源組分配一個默認(rèn)的最小資源占用限額,隨著該增加的資源組提交的作業(yè)的 作業(yè)數(shù)量的變化,重新計(jì)算每個資源組的最小資源占用限額。
10. 根據(jù)權(quán)利要求1所述的Hadoop集群調(diào)度方法,其特征在于:所述數(shù)據(jù)庫,用于存儲 實(shí)時查詢各個作業(yè)的執(zhí)行狀態(tài)的日志數(shù)據(jù)表;所述Hive集群,用于永久保存日志數(shù)據(jù)表。
【文檔編號】G06F17/50GK104156505SQ201410350690
【公開日】2014年11月19日 申請日期:2014年7月22日 優(yōu)先權(quán)日:2014年7月22日
【發(fā)明者】陳重韜, 王偉平, 孟丹, 崔甲 申請人:中國科學(xué)院信息工程研究所