




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 飛天開放平臺技術(shù)白皮書 目錄文檔圖索引31.概述42. 體系架構(gòu)53. 飛天內(nèi)核64.分布式系統(tǒng)底層服務(wù)74.1.協(xié)調(diào)服務(wù)(女媧)74.2.遠(yuǎn)程過程調(diào)用(夸父)74.3. 安全管理(鐘馗)84.4. 分布式文件系統(tǒng)(盤古)84.5. 資源管理和任務(wù)調(diào)度(伏羲)94.6.集群監(jiān)控和部署11文檔圖索引圖 1 飛天體系架構(gòu)531.概述阿里云飛天開放平臺是在數(shù)據(jù)中心的大規(guī)模Linux集群之上構(gòu)建的一套綜合性的軟硬件系統(tǒng),將數(shù)以千計(jì)的服務(wù)器聯(lián)成一臺“超級計(jì)算機(jī)”,并且將這臺超級計(jì)算機(jī)的存儲資源和計(jì)算資源,以公共服務(wù)的方式,輸送給互聯(lián)網(wǎng)上的用戶或者應(yīng)用系統(tǒng)。阿里云致力于打造云計(jì)算的基礎(chǔ)服務(wù)平臺,注重為中
2、小企業(yè)提供大規(guī)模、低成本的云計(jì)算服務(wù)。阿里云的目標(biāo)是通過構(gòu)建飛天這個支持多種不同業(yè)務(wù)類型的公有云計(jì)算平臺,幫助中小企業(yè)在云服務(wù)上建立自己的網(wǎng)站和處理自己的業(yè)務(wù)流程,幫助開發(fā)者向云端開發(fā)模式轉(zhuǎn)變,用方便、低廉的方式讓互聯(lián)網(wǎng)服務(wù)全面融入人們的生活,將網(wǎng)絡(luò) 濟(jì)模式帶入移動互聯(lián)網(wǎng),構(gòu)建出以云計(jì)算為基礎(chǔ)的全新互聯(lián)網(wǎng)生態(tài)鏈。在此基礎(chǔ)上,實(shí)現(xiàn)阿里云成為互聯(lián)網(wǎng)數(shù)據(jù)分享第一平臺的目標(biāo)。 2. 體系架構(gòu) 圖 1 飛天體系架構(gòu)如圖2.1所示是飛天的體系架構(gòu)圖。整個飛天平臺包括飛天內(nèi)核(圖2.1中淺灰色組件)和飛天開放服務(wù)(圖2.1中白色組件)兩大組成部分。飛天內(nèi)核為上層的飛天開放服務(wù)提供存儲、計(jì)算和調(diào)度等方面的底層
3、支持,對應(yīng)于圖2.1 中的協(xié)調(diào)服務(wù)、遠(yuǎn)程過程調(diào)用、安全管理、資源管理、分布式文件系統(tǒng)、任務(wù)調(diào)度、集群部署和集群監(jiān)控模塊。 飛天開放服務(wù)為用戶應(yīng)用程序提供了存儲和計(jì)算兩方面的接口和服務(wù),包括彈性計(jì)算服務(wù)(Elastic Compute Service,簡稱ECS)、開放存儲服務(wù)(OpenStorage Service,簡稱OSS)、開放結(jié)構(gòu)化數(shù)據(jù)服務(wù)(Open Table Service,簡稱OTS)、關(guān)系型數(shù)據(jù)庫服務(wù)(Relational Database Service,簡稱RDS)和開放數(shù)據(jù)處理服務(wù)(Open DataProcessing Service,簡稱ODPS),并基于彈性計(jì)算服務(wù)
4、提供了云服務(wù)引擎(Aliyun Cloud Engine,簡稱ACE)作為第三方應(yīng)用開發(fā)和Web應(yīng)用運(yùn)行和托管的平臺。 3. 飛天內(nèi)核 飛天內(nèi)核包含的模塊可以分為以下幾部分: 分布式系統(tǒng)底層服務(wù):提供分布式環(huán)境下所需要的協(xié)調(diào)服務(wù)、遠(yuǎn)程過程調(diào)用、安全管理和資源管理的服務(wù)。這些底層服務(wù)為上層的分布式文件系統(tǒng)、任務(wù)調(diào)度等模塊提供支持。 分布式文件系統(tǒng):提供一個海 的、可靠的、可擴(kuò)展的數(shù)據(jù)存儲服務(wù),將集群中各個節(jié)點(diǎn)的存儲能力聚集起來,并能夠自動屏蔽軟硬件故障,為用戶提供不間斷的數(shù)據(jù)訪問服務(wù)。支持增 擴(kuò)容和數(shù)據(jù)的自動平衡,提供類似于POSIX 的用戶空間文件訪問API,支持隨機(jī)讀寫和追加寫的操作。 任務(wù)
5、調(diào)度:為集群系統(tǒng)中的任務(wù)提供調(diào)度服務(wù),同時支持強(qiáng)調(diào)響應(yīng)速度的在線服務(wù)(Online Service)和強(qiáng)調(diào)處理數(shù)據(jù)吞吐 的離線任務(wù)(BatchProcessing Job)。自動檢測系統(tǒng)中故障和熱點(diǎn),通過錯誤重試、針對長尾作業(yè)并發(fā)備份作業(yè)等方式,保證作業(yè)穩(wěn)定可靠地完成。 集群監(jiān)控和部署:對集群的狀態(tài)和上層應(yīng)用服務(wù)的運(yùn)行狀態(tài)和性能指標(biāo)進(jìn)行監(jiān)控,對異常事件產(chǎn)生警報(bào)和記錄;為運(yùn)維人員提供整個飛天平臺以及上層應(yīng)用的部署和配置管理,支持在線集群擴(kuò)容、縮容和應(yīng)用服務(wù)的在線升級。 4.分布式系統(tǒng)底層服務(wù)4.1.協(xié)調(diào)服務(wù)(女媧)女媧(Nuwa)系統(tǒng)為飛天提供高可用的協(xié)調(diào)服務(wù)(Coordination Serv
6、ice),是構(gòu)建各類分布式應(yīng)用的核心服務(wù),它的作用是采用類似文件系統(tǒng)的樹形命名空間來讓分布式進(jìn)程互相協(xié)同工作。例如,當(dāng)集群變更導(dǎo)致特定的服務(wù)被迫改變物理運(yùn)行位置時,如服務(wù)器或者網(wǎng)絡(luò)故障、配置調(diào)整或者擴(kuò)容時,借助女媧可以使其他程序快速定位到該服務(wù)新的接入點(diǎn),從而保證了整個平臺的高可靠性和高可用性。 女媧基于類Paxos協(xié)議15,由多個女媧Server以類似文件系統(tǒng)的樹形結(jié)構(gòu)存儲數(shù)據(jù),提供高可用、高并發(fā)用戶請求的處理能力。女媧的目錄表示一個包含文件的集合。與Unix中的文件路徑一樣,女媧中路徑是以“/”分割的,根目錄(Root entry)的名字是“/”,所有目錄的名字都是以“/”結(jié)尾的。與Uni
7、x文件路徑不一樣之處在于:女媧中所有文件或目錄都必須使用從根目錄開始的絕對路徑。由于女媧系統(tǒng)的設(shè)計(jì)目的是提供協(xié)調(diào)服務(wù),而不是存儲大 數(shù)據(jù)的,所以 個文件的內(nèi)容(Value)的大小被限制在1MB 以內(nèi)。在女媧系統(tǒng)中, 個文件或目錄都保存有創(chuàng)建者的信息。一旦某個路徑被用戶創(chuàng)建,其他用戶就可以訪問和修改這個路徑的值(即文件內(nèi)容或目錄包含的文件名)。 女媧支持Publish/Subscribe模式,其中一個發(fā)布者、多個訂閱者OnePublisher/Many Subscriber)的模式提供了基本的訂閱功能;另外,還可用通過多個發(fā)布者、多個訂閱者(Many Publisher/Many Subscri
8、ber)的方式提供分布式選舉(Distributed Election)和分布式鎖的功能。 再舉一個使用女媧來實(shí)現(xiàn)負(fù)載均衡的例子:提供某一服務(wù)的多個節(jié)點(diǎn),在服務(wù)啟動的時候在女媧系統(tǒng)的同一目錄下創(chuàng)建文件,例如,server1創(chuàng)建文件 “nuwa:/cluster/myservice/server1”,server2在同一目錄下創(chuàng)建 “nuwa:/cluster/myservice/server2”。當(dāng)客戶端使用遠(yuǎn)程過程調(diào)用的時候,首先列舉女媧服務(wù)中“nuwa:/cluster/myservice”目錄下的文件,這樣就可以獲得server1和server2,客戶端隨后可以從中選擇一個節(jié)點(diǎn)發(fā)出自己的
9、請求,從而實(shí)現(xiàn)負(fù)載均衡。 4.2.遠(yuǎn)程過程調(diào)用(夸父)在分布式系統(tǒng)中,不同計(jì)算機(jī)之間只能通過消息交換的方式進(jìn)行通信。顯式的消息通信必須通過Socket接口編程,而遠(yuǎn)程過程調(diào)用(Remote Procedure Call,簡稱RPC9)可以隱 顯式的消息交換,使得程序員可以 調(diào)用本地函數(shù)一樣來調(diào)用遠(yuǎn)程的服務(wù)。 夸父(Kuafu)是飛天內(nèi)核中負(fù)責(zé)網(wǎng)絡(luò)通信的模塊,它提供了一個RPC的接口,簡化編寫基于網(wǎng)絡(luò)的分布式應(yīng)用??涓傅脑O(shè)計(jì)目標(biāo)是提供高可用(7 x 24小時)、大吞吐(Gigabyte)、高效率、易用(簡明API、多種協(xié)議和編程接口)的RPC服務(wù)。 RPC客戶端(RPC Client)通過URI
10、指定請求需要發(fā)送的RPC服務(wù)端(RPC Server)的地址,目前夸父支持兩種協(xié)議形式。 TCP:例如,tcp:/fooserver01:9000 Nuwa:例如,nuwa:/nuwa01/FooServer 與用流(stream)傳輸?shù)腡CP通信相比,夸父通信是以消息(Message)為單位的,支持多種類型的消息對象,包括標(biāo)準(zhǔn)字符串std:string和基于td:map 實(shí)現(xiàn)的若干string鍵值對。 夸父RPC同時支持異步(asynchronous)和同步(synchronous)的遠(yuǎn)程過程調(diào)用形式。 異步調(diào)用:RPC函數(shù)調(diào)用時不等接收到結(jié)果就會立即返回;用戶必須通過顯式調(diào)用接收函數(shù)取得請
11、求結(jié)果。 同步調(diào)用:RPC函數(shù)調(diào)用時會等待,直到接收到結(jié)果才返回。在實(shí)現(xiàn)中,同步調(diào)用是通過封裝異步調(diào)用來實(shí)現(xiàn)的。 在夸父的實(shí)現(xiàn)中,客戶端程序通過Unix Domain Socket與本機(jī)上的一個夸父代理(Kuafu Proxy)連接,不同計(jì)算機(jī)之間的夸父代理會建立一個TCP連接。這樣做的好處是可以更高效地使用網(wǎng)絡(luò)帶寬,系統(tǒng)可以支持上千臺計(jì)算機(jī)之間的互聯(lián)需求。此外,夸父利用女媧來實(shí)現(xiàn)負(fù)載均衡;對大塊數(shù)據(jù)的傳輸做了優(yōu)化;與TCP類似,夸父代理之間還實(shí)現(xiàn)了發(fā)送端和接收端的流控(Flow Control)機(jī)制。 4.3. 安全管理(鐘馗)鐘馗(Zhongkui)是飛天內(nèi)核中負(fù)責(zé)安全管理的模塊,它提供了
12、以用戶為單位的身份認(rèn)證和授權(quán),以及對集群數(shù)據(jù)資源和服務(wù)進(jìn)行的訪問控制。 用戶的身份認(rèn)證(Authentication)是基于密鑰機(jī)制的。 用戶對資源的訪問控制是基于權(quán)能(Capability)機(jī)制進(jìn)行授權(quán)(Authorization)的。 Capability是用于訪問控制的一種數(shù)據(jù)結(jié)構(gòu),它定義了對一個或多個指定的資源(如目錄、文件、表等)所具有的訪問權(quán)限。用戶訪問飛天系統(tǒng)的資源時必須持有Capability,否則即視為非法。打個比方,如果把Capability理解為地鐵票,乘坐地鐵(對地鐵的一種訪問方式)的時候必須要有Capability,即地鐵票。 密鑰對是基于公開密鑰方法的,包括一個私鑰
13、和相對應(yīng)的公鑰。在飛天系統(tǒng)中,密鑰對用于數(shù)字簽名服務(wù),以保證Capability的不可偽造。換句話說,私鑰用于產(chǎn)生數(shù)字簽名(如簽發(fā)Capability),公鑰用于驗(yàn)證數(shù)字簽名的有效性(如驗(yàn)證簽發(fā)過的Capability的有效性)。 考慮到網(wǎng)絡(luò)通信時任何通信節(jié)點(diǎn)都是不可信的,所以即使是飛天自身模塊內(nèi)部之間的通信也同樣是需要認(rèn)證和授權(quán)的,而且驗(yàn)證的機(jī)制也完全一樣。 4.4. 分布式文件系統(tǒng)(盤古)盤古(Pangu)是一個分布式文件系統(tǒng),盤古的設(shè)計(jì)目標(biāo)是將大 通用機(jī)器的存儲資源聚合在一起,為用戶提供大規(guī)模、高可靠、高可用、高吞吐 和可擴(kuò)展的存儲服務(wù),是飛天內(nèi)核中的一個重要組成部分。 大規(guī)模:能夠支持
14、數(shù)十PB 級的存儲大?。?PB = 1000TB),總文件數(shù)達(dá)到億級。 數(shù)據(jù)高可靠性:保證數(shù)據(jù)和元數(shù)據(jù)(Metadata)是持久保存并能夠正確訪問的,保證所有數(shù)據(jù)存儲在處于不同機(jī)架的多個節(jié)點(diǎn)上面(通常設(shè)置為3)。即使集群中的部分節(jié)點(diǎn)出現(xiàn)硬件和軟件故障,系統(tǒng)能夠檢測到故障并自動進(jìn)行數(shù)據(jù)的備份和遷移,保證數(shù)據(jù)的安全存在。 服務(wù)高可用性:保證用戶能夠不中斷地訪問數(shù)據(jù),降低系統(tǒng)的不可服務(wù)時間。即使出現(xiàn)軟硬件的故障、異常和系統(tǒng)升級等情況,服務(wù)仍可正常訪問。 高吞吐 :運(yùn)行時系統(tǒng)I/O吞吐 能夠隨機(jī)器規(guī)模線性增長,保證響應(yīng)時間。 高可擴(kuò)展性:保證系統(tǒng)的容 能夠通過增加機(jī)器的方式得到自動擴(kuò)展,下線機(jī)器存儲的
15、數(shù)據(jù)能夠自動遷移到新加入的節(jié)點(diǎn)上。 同時,盤古也能很好地支持在線應(yīng)用的低延時需求。在盤古系統(tǒng)中,文件系統(tǒng)的元數(shù)據(jù)存儲在多個主服務(wù)器(Master)上,文件內(nèi)容存儲在大 的塊服務(wù)器(Chunk Server)上。客戶端程序在使用盤古系統(tǒng)時,首先從主服務(wù)器獲取元數(shù)據(jù)信息(包括接下來與哪些塊服務(wù)器交互),然后在塊服務(wù)器上直接進(jìn)行數(shù)據(jù)操作。由于元數(shù)據(jù)信息很小,大 的數(shù)據(jù)交互是客戶端直接與塊服務(wù)器進(jìn)行的,因此盤古采用少 的主服務(wù)器來管理元數(shù)據(jù),并使用Paxos協(xié)議15保證元數(shù)據(jù)的一致性。此外,塊大小被設(shè)置為64MB,進(jìn)一步 少了元數(shù)據(jù)的大小,因此可以將元數(shù)據(jù)全部放到內(nèi)存里,從而使得主服務(wù)器能夠處理大 的
16、并發(fā)請求。 塊服務(wù)器負(fù)責(zé)存儲大小為64MB的數(shù)據(jù)塊。在向文件寫入數(shù)據(jù)之前,客戶端將建立到3個塊服務(wù)器的連接,客戶向主副本(Replica)寫入數(shù)據(jù)以后,由主副本負(fù)責(zé)向其他副本發(fā)送數(shù)據(jù)。與直接由客戶端向三個副本寫入數(shù)據(jù)相比,這樣可以 少客戶端的網(wǎng)絡(luò)帶寬使用。塊副本在放置的時候,為保證數(shù)據(jù)可用性和最大化地使用網(wǎng)絡(luò)帶寬,會將副本放置在不同機(jī)架上,并優(yōu)先考慮磁盤利用率低的機(jī)器。當(dāng)硬件故障或數(shù)據(jù)不可用造成數(shù)據(jù)塊的副本數(shù)目達(dá)不到3份的時候,數(shù)據(jù)塊會被重新復(fù)制。為保證數(shù)據(jù)的完整性,整塊數(shù)據(jù)在寫入時會同時計(jì)算一個校驗(yàn)值,與數(shù)據(jù)同時寫入磁盤。當(dāng)讀取數(shù)據(jù)塊的時候,塊服務(wù)器會再次計(jì)算校驗(yàn)值與之前存入的值是否相同,如
17、果不同就說明數(shù)據(jù)出現(xiàn)了錯誤,需要從其他副本重新讀取數(shù)據(jù)。 在線應(yīng)用對盤古提出了與離線應(yīng)用不同的挑戰(zhàn):OSS、OTS要求低時延數(shù)據(jù)讀寫,ECS在要求低時延的同時還需要具備隨機(jī)寫的能力。針對這些需求,盤古實(shí)現(xiàn)了事務(wù)日志文件和隨機(jī)訪問文件,用以支撐在線應(yīng)用。其中,日志文件通過多種方法對時延進(jìn)行了優(yōu)化,包括設(shè)置更高的優(yōu)先級、由客戶端直接寫多份拷貝而不是用傳統(tǒng)的流水線方式、寫入成功,不過Master確認(rèn)等。隨機(jī)訪問文件則允許用戶隨機(jī)讀寫,同時也應(yīng)用了類似日志文件的時延優(yōu)化技術(shù)。 4.5. 資源管理和任務(wù)調(diào)度(伏羲)伏羲(Fuxi)是飛天內(nèi)核中負(fù)責(zé)資源管理和任務(wù)調(diào)度的模塊,同時也為應(yīng)用開發(fā)提供了一套編程基
18、礎(chǔ)框架。伏羲同時支持強(qiáng)調(diào)響應(yīng)速度的在線服務(wù)和強(qiáng)調(diào)處理數(shù)據(jù)吞吐量的離線任務(wù)。在伏羲中,這兩類應(yīng)用分別簡稱為Service和Job。 在資源管理方面,伏羲主要負(fù)責(zé)調(diào)度和分配集群的存儲、計(jì)算等資源給上層應(yīng)用;管理運(yùn)行在集群節(jié)點(diǎn)上任務(wù)的生命周期;在多用戶運(yùn)行環(huán)境中,支持計(jì)算額度、訪問控制、作業(yè)優(yōu)先級和資源搶占,達(dá)到在保障公平的前提下,有效地共享集群資源。 在任務(wù)調(diào)度方面,伏羲面向海 數(shù)據(jù)處理和大規(guī)模計(jì)算類型的復(fù)雜應(yīng)用,提供了一個數(shù)據(jù)驅(qū)動的多級流水線并行計(jì)算框架,在表述能力上兼容MapReduce12、Map-Reduce-Merge等多種編程模式;自動檢測故障和系統(tǒng)熱點(diǎn),重試失敗任務(wù),保證作業(yè)穩(wěn)定可靠
19、運(yùn)行完成;具有高可擴(kuò)展性,能夠根據(jù)數(shù)據(jù)分布優(yōu)化網(wǎng)絡(luò)開銷。 伏羲中應(yīng)用了“Master/Worker”工作模型。其中,Master 負(fù)責(zé)進(jìn)行資源申請和調(diào)度、為Worker 創(chuàng)建工作計(jì)劃(Plan)并監(jiān)控Worker的生命周期,Worker 負(fù)責(zé)執(zhí)行具體的工作計(jì)劃并及時向Master匯報(bào)工作狀態(tài)(Status)。此外,Master 支持多級模式,即一個Master可以隸屬于另外一個Master之下。 伏羲Master負(fù)責(zé)整個集群資源管理和調(diào)度,處理Job/Service啟動、停止、Failover等生命周期的維護(hù)。同時伏羲Master支持多用戶額度配置、Job/Service的多優(yōu)先級設(shè)置和動態(tài)資
20、源搶占邏輯,可以說是飛天的“大腦”。伏羲對資源調(diào)度是多維度的,可以根據(jù)CPU、內(nèi)存等系統(tǒng)資源,以及應(yīng)用自定義的虛擬資源對整個機(jī)群進(jìn)行資源分配和調(diào)度。 土伯(Tubo)是部署在 臺由伏羲管理的機(jī)器上的后臺進(jìn)程,負(fù)責(zé)收集并向伏羲Master報(bào)告本機(jī)的狀態(tài),包括系統(tǒng)資源的消耗、Master或Worker進(jìn)程的運(yùn)行、等待、完成和失敗事件,并根據(jù)伏羲Master或者Job/Service Master 的指令,啟動或殺死指定的Master或Worker進(jìn)程。同時土伯還負(fù)責(zé)對計(jì)算機(jī)健康狀況進(jìn)行監(jiān)控,對異常Worker(比如內(nèi)存超用)進(jìn)行及時的清理和匯報(bào)。 對于在線服務(wù)(Service),由伏羲Master
21、負(fù)責(zé)Service Master的啟動與狀態(tài)監(jiān)控,處理相應(yīng)Service Master的資源申請請求。Service Master負(fù)責(zé)管理Service Worker的任務(wù)分配、生命周期管理以及Failover的管理。 對于離線任務(wù)(Job),伏羲Master負(fù)責(zé)Job Master的啟動與狀態(tài)監(jiān)控,處理相應(yīng)Job Master的資源申請請求。Job Master根據(jù)用戶輸入的Job 述文件,將任務(wù)分解成一個或以上的Task,單個Task的資源申請、Task Worker的調(diào)度和生命周期維護(hù)由Task Master負(fù)責(zé)。 4.5.1. 在線服務(wù)調(diào)度在飛天內(nèi)核中,單個Service都有一個Ser
22、vice Master和多個不同角色(Role)的Service Worker,它們一起協(xié)同工作來完成整個服務(wù)的功能。ServiceMaster是伏羲Master管理下的子Master(Child Master),它負(fù)責(zé)這個Service 相關(guān)的資源申請、狀態(tài)維護(hù)以及故障恢復(fù),并定期與伏羲Master進(jìn)行交互,確保整個Service正確、正常地運(yùn)行。 個Service Worker的角色和執(zhí)行的動作,都是由用戶來定義的。Service Worker負(fù)責(zé)處理一個到多個數(shù)據(jù)分片(Partition),同一時刻一個分片只會被分配到一個Service Worker處理。將數(shù)據(jù)分割成為互不相關(guān)的分片,然
23、后將不同分片給不同Service Worker來處理是構(gòu)建大規(guī)模應(yīng)用服務(wù)的關(guān)鍵特性。數(shù)據(jù)分片是一個抽象的概念,在不同的應(yīng)用中有不同的含義。 在服務(wù)運(yùn)行的過程中, 個Service的數(shù)據(jù)分片的數(shù)目和內(nèi)容都是可以動態(tài)變化的,應(yīng)用程序可以根據(jù)實(shí)際需要對數(shù)據(jù)分片動態(tài)地進(jìn)行加載(Load)、卸載(Unload)、分裂(Split)和遷移(Migrate)等操作。 4.5.2. 離線任務(wù)調(diào)度 在飛天中,一個離線任務(wù)(Job)的執(zhí)行過程被抽象為一個有向無環(huán)圖(Directed Acyclic Graph,簡稱DAG):圖上單個頂點(diǎn)對應(yīng)一個Task, 條邊對應(yīng)一個Pipeline。一個連接的兩個Task的Pi
24、peline表示前一個Task的輸出是后一個Task的輸入。離線任務(wù)都有一個Job Master負(fù)責(zé)根據(jù)用戶輸入的任務(wù) 述(Job description)構(gòu)造DAG和調(diào)度DAG中所有Task的執(zhí)行。 個Task的Task Master 會根據(jù)要處理的實(shí)例數(shù) 、數(shù)據(jù)在集群的分布及處理實(shí)例的資源需求,向伏羲 Master申請機(jī)器資源并分配Task Worker在其上執(zhí)行。分配到 臺機(jī)器上的實(shí)例(Instance)是由Task Worker來具體執(zhí)行完成的。 臺機(jī)器上的Task Worker 可以根據(jù)需要選擇多線程或者多進(jìn)程的不同運(yùn)行模式。 在離線Job的容錯方面,除了提供對異常機(jī)器的黑名單機(jī)制、
25、長尾Instance 的后備Worker機(jī)制外,伏羲還提供了快照(Snapshot)機(jī)制??煺帐荰ask級別的容錯機(jī)制。如果一個Task的n個Instance在前一次運(yùn)行失敗時完成了m個,那么Task重啟后只會重新調(diào)度運(yùn)行剩余的n m個Instance。 4.6.集群監(jiān)控和部署4.6.1.集群監(jiān)控(神農(nóng))神農(nóng)(Shennong)是飛天內(nèi)核中負(fù)責(zé)信息收集、監(jiān)控和診斷的模塊。它通過在 臺物理機(jī)器上部署輕 級的信息采集模塊,獲取各個機(jī)器的操作系統(tǒng)與應(yīng)用軟件運(yùn)行狀態(tài),監(jiān)控集群中的故障,并通過分析引擎對整個飛天的運(yùn)行狀態(tài)進(jìn)行評估。 神農(nóng)系統(tǒng)包括Master、Inspector和Agent三個部分。 Ma
26、ster:負(fù)責(zé)管理所有神農(nóng)Agent,并對外提供統(tǒng)一的接口來處理神農(nóng)用戶的訂閱(Subscription)請求,在集群中只有一個Master。 Inspector:是部署在 一臺機(jī)器上的進(jìn)程,負(fù)責(zé)采集當(dāng)前機(jī)器和進(jìn)程的通用信息,并實(shí)時發(fā)送給該機(jī)器上的神農(nóng)Agent。 Agent:是部署在 臺物理機(jī)器的后臺程序。Agent負(fù)責(zé)接受來自應(yīng)用和 Inspector寫入的信息。Agent啟動后,會立刻向Master注冊自己,并根據(jù)Master發(fā)來的訂閱(Subscription)命令執(zhí)行相應(yīng)的信息采集、過濾、聚合和處理操作。目前神農(nóng)Agent處理的數(shù)據(jù)分為兩類:事件類數(shù)據(jù)(如應(yīng)用程序故障和報(bào)警)和數(shù)值類數(shù)據(jù)(如當(dāng)前應(yīng)用的性能計(jì)數(shù)、機(jī)器IO吞吐 等)。神農(nóng)的用戶通過Master來訪問神農(nóng)系統(tǒng),以數(shù)據(jù)訂閱(Subscription)的方式獲取神農(nóng)系統(tǒng)采集到的信息。 神農(nóng)的MonitorService和AnalysisServ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 賠償協(xié)議書的格式年
- 公路交通工程與道路養(yǎng)護(hù)作業(yè)指導(dǎo)書
- 煤炭進(jìn)口合同6篇
- 針織橫機(jī)電控產(chǎn)業(yè)分析報(bào)告
- 南瓜收購合同范本
- 養(yǎng)殖用電合同范本
- 賣窯洞合同范本
- 一般經(jīng)濟(jì)購買合同范本
- 商業(yè)地租地合同范本
- 二手貨購銷合同范本
- 《現(xiàn)代家政導(dǎo)論》電子教案 4.1模塊四項(xiàng)目一家政教育認(rèn)知
- 羽毛球課件教學(xué)課件
- (人教PEP2024版)英語一年級上冊Unit 4 教學(xué)課件(新教材)
- 2024年重慶市中考英語試卷(AB合卷)附答案
- 中醫(yī)基礎(chǔ)理論(一)
- 新人教版二年級數(shù)學(xué)下冊期末考試卷及答案【1套】
- 2024至2030年全球及中國電競游戲外設(shè)行業(yè)深度研究報(bào)告
- 家具公司合伙協(xié)議
- DL5000-火力發(fā)電廠設(shè)計(jì)技術(shù)規(guī)程
- 《醫(yī)德醫(yī)風(fēng)學(xué)習(xí)記錄》
- 羊水穿刺的委托書
評論
0/150
提交評論