多集群下資源共享方案
在一些公司中,所有服務(wù)器按照業(yè)務(wù)邏輯被拆分成若干個(gè)集群,這些集群各自運(yùn)行著相對(duì)獨(dú)立的業(yè)務(wù),并由專門的運(yùn)維人員管理。
然而,由于集群中應(yīng)用特點(diǎn)不同,它們的利用率可能不一致,同一時(shí)間段,有的集群業(yè)務(wù)繁忙,資源利用率高,甚至可能出現(xiàn)排隊(duì)等待資源的情況,而另外一些集群則業(yè)務(wù)空閑,資源利用率很低。此外,多個(gè)集群也可能導(dǎo)致數(shù)據(jù)冗余度增加,比如一個(gè)集群中的業(yè)務(wù)需要另外一個(gè)集群中的數(shù)據(jù),可能需要跨集群拷貝數(shù)據(jù),進(jìn)而占用更多的磁盤空間。
1. 集群共享帶來的好處
為了解決多集群帶來的問題,可將多個(gè)集群統(tǒng)一為一個(gè)集群,這將帶來以下幾個(gè)好處:
(1)提高集群整體利用率。所有業(yè)務(wù)運(yùn)行在一個(gè)大的集群中,并按需分配給各個(gè)應(yīng)用程序,可達(dá)到資源錯(cuò)峰交谷的目的,提高系統(tǒng)整體利用率和均衡率。
(2)減少管理成本。多個(gè)集群合并成一個(gè)大集群后,便于統(tǒng)一管理和統(tǒng)一運(yùn)維,可減少管理成本。
2. 多集群共享方案
有些公司中,同時(shí)存在多個(gè)Hadoop集群,這些集群運(yùn)行著不同的業(yè)務(wù)線,并對(duì)實(shí)時(shí)性、資源需求、優(yōu)先級(jí)等有不同要求。為了實(shí)現(xiàn)集群資源共享,可將多個(gè)Hadoop集群合并成一個(gè),并由Hadoop作業(yè)調(diào)度器統(tǒng)負(fù)責(zé)資源管理和任務(wù)分配。為了對(duì)應(yīng)原先的業(yè)務(wù)邏輯,作業(yè)調(diào)度器通常將用戶分成若干個(gè)隊(duì)列(每個(gè)業(yè)務(wù)線一個(gè)隊(duì)列),并給每個(gè)隊(duì)列分配一定比例的資源,作業(yè)調(diào)度器中包含資源分配邏輯,能夠按照一定的策略將資源分配各這些隊(duì)列,并靈活實(shí)現(xiàn)資源按需分配,以達(dá)到資源***利用。


3. 多服務(wù)共享方案
Hadoop只是當(dāng)前比較流行的開源軟件之一,除了Hadoop,很多公司還有其他一些服務(wù),比如Web Server,Thrift Server、DataBase Service等,同樣,通常考慮到服務(wù)的重要性和將來的發(fā)展,會(huì)將這些服務(wù)單獨(dú)部署到獨(dú)立的幾臺(tái)機(jī)器上,在大部分情況下,很多機(jī)器的資源利用率很低,為了提高機(jī)器整體利用率和支持服務(wù)自動(dòng)化部署,可將這些服務(wù)混搭地部署到各個(gè)服務(wù)器上,于是資源統(tǒng)一管理系統(tǒng)誕生了,業(yè)界典型代表是Google的Borg和騰訊的Torca,開源界代表是Mesos和YARN。
資源統(tǒng)一管理系統(tǒng)的另外一個(gè)值得一提的動(dòng)機(jī)是數(shù)據(jù)中心編程,也就是說,可以把數(shù)據(jù)中心看成一臺(tái)超大的服務(wù)器,由一個(gè)資源管理系統(tǒng)對(duì)所有的計(jì)算資源,包括CPU、內(nèi)存、硬盤、端口號(hào)等,進(jìn)行統(tǒng)一管理和調(diào)度,涉及到的關(guān)鍵技術(shù)包括資源分配、資源隔離、資源劃分等,具體可參考騰訊Torca的設(shè)計(jì)文檔。


4. 參考資料
(1)Torca:http://djt.qq.com/article-329-1.html
(2)Mesos:http://www.mesosproject.org/






















