>[0050]使用Docker進(jìn)行資源與環(huán)境隔離。容器控制器對Docker的命令進(jìn)行封裝,利用容器技術(shù)對用戶占用的計(jì)算資源以及計(jì)算環(huán)境進(jìn)行隔離。
[0051]服務(wù)器中使用MongoDB存儲元數(shù)據(jù),用戶元數(shù)據(jù)存于User Collect1n中,租戶元數(shù)據(jù)存于 Tenant Collect1n 中。
[0052]權(quán)限控制過程中,通過token與用戶ID的映射,在User和Tenant兩個(gè)Collect1n中進(jìn)行比對,確定用戶該次訪問是否具有相應(yīng)權(quán)限。
[0053]資源分配算法如下:使用中心Redis節(jié)點(diǎn)記錄集群中每臺物理機(jī)的空閑資源情況以及當(dāng)前資源占用情況。空閑資源情況以及當(dāng)前資源占用情況均采用鏈表的形式有序存放。調(diào)度器在各資源類型的鏈表進(jìn)行二分查找后獲得滿足用戶請求的物理機(jī)集合。調(diào)度器對篩選出的物理機(jī)集合按照應(yīng)用類型進(jìn)行不同的排序,包括計(jì)算密集或者1/0密集。
[0054]相比于現(xiàn)有方式:
[0055]第一,現(xiàn)有的分布式調(diào)度方案需要分布式應(yīng)用各自提供接入模塊,對于每一個(gè)想接入現(xiàn)有分布式資源調(diào)度系統(tǒng)的分布式應(yīng)用來說都需要利用其提供的編程接口編寫接入模塊,無法實(shí)現(xiàn)“熱插拔”。本發(fā)明設(shè)計(jì)了一種新型的兩層調(diào)度方案,通過把基于任務(wù)的細(xì)粒度調(diào)度工作下放給各分布式應(yīng)用自身,從而實(shí)現(xiàn)了應(yīng)用的“熱插拔”,降低了調(diào)度器與應(yīng)用之間的耦合度。
[0056]第二,現(xiàn)有的分布式資源調(diào)度方案都是在靜態(tài)的存儲系統(tǒng)之上對計(jì)算任務(wù)進(jìn)行調(diào)度,無法滿足多租戶對存儲系統(tǒng)的實(shí)時(shí)個(gè)性化定制。本發(fā)明通過對現(xiàn)有的分布式資源調(diào)度方案進(jìn)行擴(kuò)展,引入了對存儲系統(tǒng)的實(shí)時(shí)調(diào)度,提升了大數(shù)據(jù)系統(tǒng)的靈活性,更好地滿足多租戶的需求。
[0057]第三,傳統(tǒng)的虛擬化技術(shù)需要對硬件以及操作系統(tǒng)進(jìn)行虛擬因此性能開銷較大,而容器技術(shù)是通過內(nèi)核特性Namespace和CGroups等實(shí)現(xiàn),省去層層虛擬,通過與宿主主機(jī)共用內(nèi)核的方式顯著降低虛擬化帶來的開銷。通過引入虛擬容器替代傳統(tǒng)虛擬化技術(shù)的方法,提升了大數(shù)據(jù)系統(tǒng)的硬件資源利用率。
[0058]本發(fā)明的基于虛擬容器的大數(shù)據(jù)存儲與管理方法解決了如何在異構(gòu)的底層存儲硬件之上,提供統(tǒng)一的存儲與計(jì)算池,滿足用戶多模態(tài)的存儲需求與多樣化的計(jì)算需求,并且能夠隔離不同用戶的資源與應(yīng)用。本發(fā)明的基于虛擬容器的大數(shù)據(jù)存儲與管理方法,采用虛擬容器技術(shù)進(jìn)行資源與環(huán)境的隔離,采用雙層調(diào)度的架構(gòu)降低了頂層調(diào)度器負(fù)載以及分布式應(yīng)用與調(diào)度器的耦合度,并且對實(shí)時(shí)調(diào)度存儲系統(tǒng)提供了支持。
[0059]盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。
【主權(quán)項(xiàng)】
1.一種基于虛擬容器的大數(shù)據(jù)存儲與管理系統(tǒng),其特征在于,包括: 元數(shù)據(jù)服務(wù)器,所述元數(shù)據(jù)服務(wù)器用于維護(hù)租戶信息和用戶信息,并在用戶訪問元數(shù)據(jù)和容器時(shí)進(jìn)行權(quán)限認(rèn)證; 調(diào)度器,包括兩層調(diào)度,其中,上層調(diào)度為容器級別的調(diào)度,下層調(diào)度為任務(wù)級別的調(diào)度,所述上層調(diào)度用于接收用戶的請求,并為用戶分配和配置對應(yīng)的容器,所述下層調(diào)度由每個(gè)大數(shù)據(jù)計(jì)算框架的主節(jié)點(diǎn)完成,所述調(diào)度器具有接收用戶提交任務(wù)的接口,以根據(jù)用戶需求和從服務(wù)器發(fā)送的全局資源和任務(wù)運(yùn)行情況,從集群中選擇多個(gè)物理機(jī)以通過所述物理機(jī)中的容器執(zhí)行所述任務(wù),并向所述物理機(jī)上容器發(fā)送啟停命令; 多個(gè)從服務(wù)器,所述從服務(wù)器與所述調(diào)度器相互通訊,用于根據(jù)所述調(diào)度器發(fā)送的啟停命令控制所述物理機(jī)上的容器的啟停,并監(jiān)控物理機(jī)的資源和任務(wù)運(yùn)行情況,以及將所述資源和任務(wù)運(yùn)行情況反饋給所述調(diào)度器。2.根據(jù)權(quán)利要求1所述的基于虛擬容器的大數(shù)據(jù)存儲與管理系統(tǒng),其特征在于,所述租戶信息包括:團(tuán)體名稱、聯(lián)系方式和支付信息。3.根據(jù)權(quán)利要求1所述的基于虛擬容器的大數(shù)據(jù)存儲與管理系統(tǒng),其特征在于,所述元數(shù)據(jù)服務(wù)器包括: 租戶管理模塊,用于維護(hù)每個(gè)租戶信息,并為租戶管理員提供設(shè)置用戶權(quán)限的機(jī)制; 用戶管理模塊,用于維護(hù)用戶的信息,并對用戶進(jìn)行身份認(rèn)證; 權(quán)限認(rèn)證模塊,用于在用戶訪問元數(shù)據(jù)和容器時(shí)進(jìn)行權(quán)限認(rèn)證。4.根據(jù)權(quán)利要求1所述的基于虛擬容器的大數(shù)據(jù)存儲與管理系統(tǒng),其特征在于,所述從服務(wù)器包括: 容器控制器,用于對所述物理機(jī)上的容器進(jìn)行監(jiān)控,并根據(jù)所述啟停命令控制所述容器的啟停; 資源監(jiān)控模塊,用于監(jiān)測所述物理機(jī)的資源和任務(wù)執(zhí)行情況,其中,所述資源包括:CPU使用、內(nèi)存占用、網(wǎng)絡(luò)1和磁盤占用情況; 通信模塊,用于與所述調(diào)度器相互通信,并向所述調(diào)度器發(fā)送所述物理機(jī)的資源和任務(wù)執(zhí)行情況,并接收所述調(diào)度器發(fā)送的所述啟停命令。5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的基于虛擬容器的大數(shù)據(jù)存儲與管理系統(tǒng),其特征在于,所述用戶通過SSH向所述容器進(jìn)行任務(wù)提交。6.一種基于虛擬容器的大數(shù)據(jù)存儲與管理方法,其特征在于,包括以下步驟: 用戶向調(diào)度器提交創(chuàng)建集群請求; 所述調(diào)度器向從服務(wù)器發(fā)送資源占用情況請求; 所述從服務(wù)器將物理機(jī)的資源占用情況反饋給所述調(diào)度器,所述調(diào)度器選擇滿足所述資源占用情況請求的物理機(jī)的集合; 所述調(diào)度器通向所述從服務(wù)器發(fā)送容器啟動(dòng)命令; 所述從服務(wù)器根據(jù)要求設(shè)置物理機(jī)上的容器的資源占用上限并啟動(dòng)所述容器; 在所述容器啟動(dòng)完成后,所述從服務(wù)器通知所述調(diào)度器; 所述調(diào)度器將所述容器的集群的IP發(fā)送給所述用戶; 所述用戶向所述容器提交任務(wù); 當(dāng)所述任務(wù)執(zhí)行完畢后,所述容器向所述用戶發(fā)送執(zhí)行結(jié)果。7.根據(jù)權(quán)利要求6所述的基于虛擬容器的大數(shù)據(jù)存儲與管理方法,其特征在于,所述集群請求包括:應(yīng)用類型、節(jié)點(diǎn)數(shù)、硬件描述,其中,所述硬件描述包括:CPU頻率、核數(shù)、硬盤大小和內(nèi)存大小。8.根據(jù)權(quán)利要求6所述的基于虛擬容器的大數(shù)據(jù)存儲與管理方法,其特征在于,所述從服務(wù)器利用應(yīng)用容器引擎對任務(wù)占用的資源和環(huán)境進(jìn)行隔離。9.根據(jù)權(quán)利要求6所述的基于虛擬容器的大數(shù)據(jù)存儲與管理方法,其特征在于,所述用戶通過SSH向所述容器提交任務(wù)。10.根據(jù)權(quán)利要求6-9任一項(xiàng)所述的基于虛擬容器的大數(shù)據(jù)存儲與管理方法,其特征在于,所述資源占用情況以鏈表的形式存儲在所述調(diào)度器中。
【專利摘要】本發(fā)明提供了一種基于虛擬容器的大數(shù)據(jù)存儲與管理系統(tǒng)及方法,該系統(tǒng)包括:元數(shù)據(jù)服務(wù)器,用于維護(hù)租戶信息和用戶信息,并在用戶訪問元數(shù)據(jù)和容器時(shí)進(jìn)行權(quán)限認(rèn)證;調(diào)度器,包括兩層調(diào)度,上層調(diào)度為容器級別的調(diào)度,下層調(diào)度為任務(wù)級別的調(diào)度,上層調(diào)度用于接收用戶的請求,并為用戶分配和配置對應(yīng)的容器,下層調(diào)度由每個(gè)大數(shù)據(jù)計(jì)算框架的主節(jié)點(diǎn)完成,調(diào)度器實(shí)現(xiàn)容器的調(diào)度;從服務(wù)器,控制所述物理機(jī)上的容器的啟停,并監(jiān)控物理機(jī)的資源,將資源和任務(wù)運(yùn)行情況反饋給調(diào)度器。該系統(tǒng)采用虛擬容器技術(shù)進(jìn)行資源與環(huán)境的隔離,采用雙層調(diào)度的架構(gòu)降低了上層調(diào)度器負(fù)載和分布式應(yīng)用與調(diào)度器的耦合度,并且對實(shí)時(shí)調(diào)度存儲系統(tǒng)提供了支持。
【IPC分類】G06F9/48, G06F9/50
【公開號】CN105045656
【申請?zhí)枴緾N201510371873
【發(fā)明人】武永衛(wèi), 陳康, 馬道寬, 鄭緯民
【申請人】深圳清華大學(xué)研究院
【公開日】2015年11月11日
【申請日】2015年6月30日