




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、云計(jì)算原理與實(shí)踐Principles and Practice of Cloud Computing云計(jì)算原理與實(shí)踐課程總覽Outline10.1 從軟件到云件 10.2 云件系統(tǒng)的架構(gòu)設(shè)計(jì)與運(yùn)行原理 10.3 云件的開發(fā)模式與效果 10.4 云件在大規(guī)模在線實(shí)訓(xùn)平臺中的應(yīng)用 10.5 實(shí)踐:云件應(yīng)用開發(fā)實(shí)例 Data ScienceMachine LearningDomain expertiseMathematicsData engineering10.1 從軟件到云件 10.1.1 云件的基本概念 10.1.2 從軟件到云件的變遷 10.1.3 云件的關(guān)鍵技術(shù)10.1.4 云件的開發(fā)、部署
2、和運(yùn)行模式 10.1.1云件的基本概念隨著云計(jì)算和虛擬化技術(shù)的興起,越來越多的軟件逐漸把軟件主體放在云端,而客戶端只需要通過互聯(lián)網(wǎng)技術(shù)使用云端軟件的服務(wù)即可,使得軟件不再依賴于終端軟硬件資源,這樣的軟件形態(tài)更多地體現(xiàn)為一種服務(wù),而這樣的軟件形態(tài)則稱之為云件(Cloudware)。10.1.2 從軟件到云件的變遷 1本地部署軟件架構(gòu)本地部署軟件(On-Premise-Software)架構(gòu)是一種完全運(yùn)行在本地環(huán)境中且依賴本地資源的軟件模式,傳統(tǒng)的單機(jī)軟件大都屬于On-Premise-Software,這種軟件需要在本地部署軟件依賴的全部庫和相關(guān)組件,如果有特殊硬件依賴比如GPU加速器等,則需要用
3、戶自己安裝相關(guān)硬件。同時(shí),軟件的管理、部署和運(yùn)維也完全依賴于用戶自身,產(chǎn)生的數(shù)據(jù)也都存儲在本地,所以還需要采取額外的措施來保證系統(tǒng)的安全。 10.1.2 從軟件到云件的變遷 2 C/S軟件架構(gòu) C/S軟件架構(gòu),即Client/Server(客戶機(jī)/服務(wù)器)軟件架構(gòu),是目前廣泛使用的軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理地分配到Client端和Server端,從而降低系統(tǒng)的通信開銷。C/S架構(gòu)軟件具有以下優(yōu)點(diǎn):(1)數(shù)據(jù)的操作速度較快。(2)應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。(3)數(shù)據(jù)的儲存管理功能較為透明。10.1.2 從軟件到云件的變遷 3 B/S軟件架構(gòu) B/S結(jié)構(gòu),
4、即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的改進(jìn)。在這種結(jié)構(gòu)下,只需在客戶機(jī)上安裝一個(gè)瀏覽器(Browser),如Chrome或Internet Explorer,在服務(wù)器中安裝Oracle、Sybase或SQL Server等數(shù)據(jù)庫,在上層通過Http服務(wù)器實(shí)現(xiàn)Web Server服務(wù),用戶就可以通過瀏覽器使用軟件。B/S軟件架構(gòu)具有以下優(yōu)點(diǎn):(1)B/S適用于廣域網(wǎng)環(huán)境支持更多的客戶。(2)維護(hù)和升級方式簡單。(3)跨平臺設(shè)備接入。10.1.2 從軟件到云件的變遷 4 SaaS軟件架構(gòu) 在SaaS模式中,軟件服務(wù)商將應(yīng)用軟件部署在云
5、端服務(wù)器上,客戶根據(jù)自身的實(shí)際需求通過網(wǎng)絡(luò)按需購買軟件服務(wù)商提供的軟件服務(wù)并支付相應(yīng)的費(fèi)用。SaaS提供商為企業(yè)搭建信息化所需的所有網(wǎng)絡(luò)基礎(chǔ)設(shè)施及軟件、硬件運(yùn)作平臺,并負(fù)責(zé)前期實(shí)施、后期維護(hù)等一系列服務(wù),企業(yè)無需再購買軟硬件、建設(shè)機(jī)房、招聘IT人員,即可通過互聯(lián)網(wǎng)使用信息系統(tǒng)。SaaS架構(gòu)有以下優(yōu)點(diǎn):(1)軟件復(fù)用,動(dòng)態(tài)資源。(2)按需付費(fèi),成本低廉。(3)快速部署,統(tǒng)一運(yùn)維。10.1.2 從軟件到云件的變遷 5云件架構(gòu) 云件是一種將運(yùn)行環(huán)境全部置于云端的模式,也屬于SaaS的一種服務(wù)方式,主要通過互聯(lián)網(wǎng)技術(shù)使用云端的服務(wù)。云件是未來互聯(lián)網(wǎng)和云計(jì)算環(huán)境下軟件的發(fā)展方向之一,也是目前研究軟件演化
6、和軟件工程的關(guān)鍵。10.1.2 從軟件到云件的變遷 5云件架構(gòu) 云件的形態(tài)主要有以下幾個(gè)特性:(1)云件主體在云端運(yùn)行。(2)按需資源分配。(3)云端渲染,終端顯示。(4)無需安裝,快速啟動(dòng)。(5)通過網(wǎng)絡(luò)交付。(6)統(tǒng)一交互平臺。(7)文件透明傳輸。10.1.2 從軟件到云件的變遷 5云件架構(gòu) 云件Web應(yīng)用計(jì)算位置全云端計(jì)算終端輔助計(jì)算應(yīng)用輸出窗口交互圖像HTML、CSS等應(yīng)用輸入鼠標(biāo)鍵盤等事件HTTP請求數(shù)據(jù)存儲全云端存儲部分終端存儲程序狀態(tài)恢復(fù)可恢復(fù)不可恢復(fù)表10.1 云件和Web應(yīng)用的區(qū)別10.1.2 從軟件到云件的變遷 5云件架構(gòu) 表10.2 云件和云桌面應(yīng)用的區(qū)別云件云桌面計(jì)算位
7、置全云端計(jì)算部分依賴客戶端服務(wù)類型僅包含軟件服務(wù)(SaaS)桌面系統(tǒng)服務(wù)(DaaS)軟件安裝即搜即用通過瀏覽器下載安裝程序輸出窗口交互圖像顯存渲染信息10.1.3 云件的關(guān)鍵技術(shù) 1虛擬化技術(shù)虛擬化技術(shù)可以為云件運(yùn)行在云端提供虛擬化的運(yùn)行環(huán)境、不同平臺的操作系統(tǒng)及其依賴的庫和組件服務(wù)。10.1.3 云件的關(guān)鍵技術(shù) 2云端渲染交互技術(shù)云端渲染交互技術(shù)是將渲染過程放在云端,將生成的RGBA圖像編碼為流數(shù)據(jù)格式,通過互聯(lián)網(wǎng)將數(shù)據(jù)傳輸?shù)浇K端進(jìn)行解碼后直接顯示,同時(shí)將終端的交互事件如鼠標(biāo)、鍵盤等事件通過網(wǎng)絡(luò)傳輸?shù)皆贫耍瑥亩鴮?shí)現(xiàn)云端渲染交互過程。10.1.3 云件的關(guān)鍵技術(shù) 3容器技術(shù)容器技術(shù)是近年來興起
8、的輕量級虛擬化技術(shù),通過這種技術(shù)用戶能夠在幾毫秒內(nèi)啟動(dòng)一個(gè)鏡像實(shí)例,且只占用很少的額外資源。利用容器技術(shù)可以實(shí)現(xiàn)應(yīng)用的快速部署和啟動(dòng),以及與本地桌面軟件比擬的啟動(dòng)速度。同時(shí),利用容器技術(shù)如Docker等工具,可以很容易實(shí)現(xiàn)微服務(wù),將應(yīng)用程序依賴的其他組件封裝在Docker鏡像中按需啟動(dòng),進(jìn)一步提高了云件的部署靈活性。10.1.3 云件的關(guān)鍵技術(shù) 4媒體流數(shù)據(jù)壓縮技術(shù)為了提高云件的交互用戶體驗(yàn),盡可能地降低交互的時(shí)延,同時(shí)保證遠(yuǎn)程渲染的輸出幀質(zhì)量,需要依賴相關(guān)的實(shí)時(shí)交互和流媒體數(shù)據(jù)壓縮傳輸技術(shù),如目前廣泛使用或研究的H.264、H.265和Webm等技術(shù),都是解決云件交互用戶體驗(yàn)的關(guān)鍵技術(shù)。10
9、.1.3 云件的關(guān)鍵技術(shù) 5終端交互技術(shù)云件的主體運(yùn)行在云端,終端只需要配備統(tǒng)一的交互平臺即可,縱觀整個(gè)終端的軟硬件平臺,瀏覽器是能夠適應(yīng)不同終端平臺的交互組件的首選。同時(shí),隨著近年來HTML5、CSS3等技術(shù)的發(fā)展,極大地增強(qiáng)了瀏覽器的處理和交互能力,為構(gòu)建云件的終端統(tǒng)一交互平臺奠定了堅(jiān)實(shí)的基礎(chǔ)。10.1.4 云件的開發(fā)、部署和運(yùn)行模式 1云件的開發(fā)模式隨著Git和任務(wù)管理系統(tǒng)的興起,云件的開發(fā)也越發(fā)地體現(xiàn)為云端開發(fā)過程,即利用云端IDE和編譯微服務(wù)完成軟件的整個(gè)開發(fā)任務(wù),同時(shí)利用云端協(xié)作軟件進(jìn)行任務(wù)追蹤,從代碼編寫和軟件工程角度對軟件開發(fā)過程進(jìn)行云化。云件的開發(fā)應(yīng)當(dāng)遵循微服務(wù)的理念,將軟件
10、盡可能地劃分為不同的構(gòu)件,并分別以服務(wù)的形式進(jìn)行封裝,通過相應(yīng)的API接口進(jìn)行復(fù)用,實(shí)現(xiàn)軟件模塊的解耦,同時(shí)方便測試過程的持續(xù)集成。10.1.4 云件的開發(fā)、部署和運(yùn)行模式 2云件的部署模式云件的部署其實(shí)就是微服務(wù)的部署。目前以Docker為代表的微服務(wù)容器技術(shù)的發(fā)展越來越成熟。Docker中包含了一系列的容器部署工具,為開發(fā)者提供了一種新穎、便捷的軟件集成測試與部署方法。云件的部署應(yīng)當(dāng)以服務(wù)發(fā)布的形式體現(xiàn),不同的構(gòu)件可以單獨(dú)部署,也可以集成部署。提供向下兼容的服務(wù)部署形式,保證云件的不中斷運(yùn)行,這也是云服務(wù)的基本需求。10.1.4 云件的開發(fā)、部署和運(yùn)行模式 3云件的運(yùn)行模式云件在設(shè)計(jì)時(shí)就以
11、微服務(wù)的形式體現(xiàn),云件的運(yùn)行其實(shí)就是微服務(wù)的集成運(yùn)行。云件與傳統(tǒng)軟件的不同點(diǎn)在于云件主體運(yùn)行在云端,而傳統(tǒng)軟件主體運(yùn)行在客戶端。由于云件的主體運(yùn)行在云端,計(jì)算和存儲過程都發(fā)生在云端服務(wù)器上,那么對客戶端來說,只需要一個(gè)交互式的服務(wù)環(huán)境即可。近年來,軟件的Web化是軟件演化的一種趨勢,云件可以將瀏覽器視為運(yùn)行在客戶端的提供交互服務(wù)的構(gòu)件。瀏覽器的交互過程在本質(zhì)上是一個(gè)輸入/輸出的可視化過程,只需要將客戶端的鼠標(biāo)和鍵盤等輸入發(fā)送到云端服務(wù)器,將處理后的結(jié)果返回到客戶端進(jìn)行渲染,就可以實(shí)現(xiàn)類似本地軟件的使用效果。10.2 云件系統(tǒng)的架構(gòu)設(shè)計(jì)與運(yùn)行原理 10.2.1 計(jì)算與存儲分離的設(shè)計(jì)理念 10.2
12、.2 基于微服務(wù)架構(gòu)的云件模型 10.2.3 云件的系統(tǒng)級架構(gòu)設(shè)計(jì) 10.2.4 云件的開發(fā)模式與效果 10.2.1 計(jì)算與存儲分離的設(shè)計(jì)理念 與傳統(tǒng)的基于標(biāo)準(zhǔn)的馮諾依曼體系結(jié)構(gòu)的操作系統(tǒng)不同,云件模式使得計(jì)算機(jī)系統(tǒng)的輸入、輸出、存儲和計(jì)算都不在單一的計(jì)算機(jī)系統(tǒng)中。這些操作可能分布在互聯(lián)網(wǎng)的各個(gè)地方,再通過網(wǎng)絡(luò)連接在一起。如輸入和輸出,就部署在終端機(jī)器上,而云件的存儲、控制和計(jì)算則部署在云端服務(wù)器上,從而使得云件的輸入、輸出和計(jì)算都自成系統(tǒng),通過互聯(lián)網(wǎng)并基于相應(yīng)的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)通信,這樣的計(jì)算模型又被稱為松耦合馮諾依曼計(jì)算模型,該模型是云件系統(tǒng)的設(shè)計(jì)理論基礎(chǔ)。10.2.1 計(jì)算與存儲分離的設(shè)計(jì)理
13、念 云件系統(tǒng)設(shè)計(jì)的關(guān)鍵在于如何將馮諾依曼機(jī)的五個(gè)模塊進(jìn)行解耦,解耦的關(guān)鍵在于各個(gè)模塊需要自成系統(tǒng),并且能夠獨(dú)立運(yùn)行,各個(gè)部件之間通過相應(yīng)的網(wǎng)絡(luò)協(xié)議通信。10.2.2 基于微服務(wù)架構(gòu)的云件模型 1微服務(wù)架構(gòu)微服務(wù)架構(gòu)被提出之初,開發(fā)人員通常以業(yè)務(wù)功能劃分服務(wù),軟件應(yīng)用在設(shè)計(jì)時(shí)需要按照業(yè)務(wù)流程進(jìn)行分割,每個(gè)子服務(wù)都能被獨(dú)立地執(zhí)行并完成一定業(yè)務(wù)功能,服務(wù)之間利用特定的協(xié)議進(jìn)行通信調(diào)用,最后再組合成一個(gè)完整的應(yīng)用程序。隨著對微服務(wù)研究的深入,研究人員開始從軟件工程的角度對微服務(wù)的整體架構(gòu)進(jìn)行設(shè)計(jì)與改進(jìn),他們按照軟件交互、計(jì)算以及存儲等功能模塊對軟件應(yīng)用服務(wù)進(jìn)行劃分。10.2.2 基于微服務(wù)架構(gòu)的云件模
14、型 1微服務(wù)架構(gòu)10.2.2 基于微服務(wù)架構(gòu)的云件模型 2微服務(wù)云端軟件模型圖10.4 傳統(tǒng)軟件結(jié)構(gòu)圖圖10.5 微服務(wù)云件結(jié)構(gòu)模型圖10.2.2 基于微服務(wù)架構(gòu)的云件模型 2微服務(wù)云端軟件模型圖10.6 云端所有軟件整體結(jié)構(gòu)關(guān)系圖 10.2.2 基于微服務(wù)架構(gòu)的云件模型 3云件的交互過程圖10.7 單機(jī)軟件交互簡化過程圖 圖10.8 云件交互簡化過程圖10.2.3 云件的系統(tǒng)級架構(gòu)設(shè)計(jì) 云件系統(tǒng)軟件層架構(gòu)主要由三個(gè)部分組成:Container Service、X Service和Web Service。10.2.3 云件的系統(tǒng)級架構(gòu)設(shè)計(jì) 云件系統(tǒng)的各服務(wù)之間的通信過程可以分為控制平面和數(shù)據(jù)平
15、面。10.2.3 云件的系統(tǒng)級架構(gòu)設(shè)計(jì) 由于云件系統(tǒng)本身采取了微服務(wù)架構(gòu)進(jìn)行設(shè)計(jì),可以借助當(dāng)前流行的容器編排系統(tǒng)(如Kubernetes、Rancher和Mesos等)實(shí)現(xiàn)靈活的調(diào)度策略,使云件系統(tǒng)的各項(xiàng)服務(wù)運(yùn)行在最合適的環(huán)境中。10.2.3 云件的系統(tǒng)級架構(gòu)設(shè)計(jì) 圖10.12 WebRTC建立視頻流傳輸?shù)幕玖鞒?10.2.3 云件的系統(tǒng)級架構(gòu)設(shè)計(jì) 在云件的概念中,各個(gè)模塊抽象為服務(wù),云件的交互服務(wù)部署在終端,計(jì)算和存儲服務(wù)部署在云端。10.3 云件的開發(fā)模式與效果 10.3.1 云件的開發(fā)模式 10.3.2 云件的效果展示 10.3.1 云件的開發(fā)模式 在容器技術(shù)的支撐下,云件開發(fā)過程可以
16、變得非常迅速,主要得益于微服務(wù)架構(gòu)的持續(xù)集成(Continuous Integration,CI)和持續(xù)部署(Continuous Deployment,CD)特性。圖10.14 云件開發(fā)的CI/CD結(jié)構(gòu)10.3.1 云件的開發(fā)模式 Docker作為當(dāng)前主流的微服務(wù)封裝部署工具,能夠很好地契合云件鏡像的封裝。10.3.1 云件的開發(fā)模式 容器技術(shù)與云件的特性非常契合,主要是因?yàn)樗哂幸韵聨讉€(gè)優(yōu)點(diǎn):1資源獨(dú)立、隔離2環(huán)境一致性3輕量化4一次構(gòu)建到處運(yùn)行10.3.2 云件的效果展示 1云件運(yùn)行環(huán)境配置云件平臺是由多組微服務(wù)組成,為了滿足快速部署與靈活配置等要求,系統(tǒng)需要部署和運(yùn)行在基于微服務(wù)的Ia
17、aS平臺上。 云件平臺系統(tǒng)可以運(yùn)行在多臺云主機(jī)上,每臺云主機(jī)配置為48個(gè)核心、16GB以上的內(nèi)存和500GB以上的硬盤,同時(shí),為了保證對外服務(wù)質(zhì)量,這臺服務(wù)器的帶寬應(yīng)不低于20Mbit/s。窗口服務(wù)和容器服務(wù)則運(yùn)行在另外一臺云主機(jī)上,這兩種服務(wù)放在一臺服務(wù)器上可以通過內(nèi)存進(jìn)行通信,從而提高容器和Xorg之間的通信效率,減少云端服務(wù)器內(nèi)部不必要的傳輸開銷。10.3.1 云件的開發(fā)模式 2效果展示圖10.16 云件分類結(jié)果圖 10.3.1 云件的開發(fā)模式 2效果展示 圖10.17 Sublime Text云件運(yùn)行過程圖 10.3.1 云件的開發(fā)模式 2效果展示 圖10.18 Eclipse云件運(yùn)行
18、過程圖10.4 云件在大規(guī)模在線實(shí)訓(xùn)平臺中的應(yīng)用10.4.1 實(shí)訓(xùn)平臺提出的背景 10.4.2 構(gòu)建基于云件系統(tǒng)的大數(shù)據(jù)工程實(shí)訓(xùn)平臺 10.4.1 實(shí)訓(xùn)平臺提出的背景 2效果展示10.4.1 實(shí)訓(xùn)平臺提出的背景 2效果展示首先,構(gòu)建一個(gè)面向云件服務(wù)的PaaS平臺,它是云件開發(fā)、測試、部署和運(yùn)維的集成操作平臺,既面向開發(fā)者提供云件開發(fā)工具和云件運(yùn)行環(huán)境,也面向用戶提供云件服務(wù)。然后,在上面構(gòu)建大數(shù)據(jù)實(shí)訓(xùn)環(huán)境。基于該云件服務(wù)平臺研發(fā)了相關(guān)核心技術(shù)包括:基于松耦合馮諾伊曼模型的計(jì)算分散化范式、面向云件的云端操作系統(tǒng)、端云實(shí)時(shí)交互式渲染技術(shù)以及云件系統(tǒng)性能檢測與容器化調(diào)度技術(shù)。10.4.2 構(gòu)建基于云
19、件系統(tǒng)的大數(shù)據(jù)工程實(shí)訓(xùn)平臺 10.4.2 構(gòu)建基于云件系統(tǒng)的大數(shù)據(jù)工程實(shí)訓(xùn)平臺 圖10.20 構(gòu)建在云件平臺上的大數(shù)據(jù)工程實(shí)訓(xùn)模塊基于微服務(wù)架構(gòu)和云件技術(shù),針對高校需求設(shè)計(jì)并實(shí)現(xiàn)了為基于云件系統(tǒng)的大數(shù)據(jù)實(shí)踐教學(xué)平臺,該平臺包括以下主要功能模塊:教師端功能:定制課程實(shí)驗(yàn)內(nèi)容、上傳文件、實(shí)驗(yàn)管理、學(xué)生管理、查看學(xué)生算法、成績管理、報(bào)告管理。學(xué)生端功能:查看實(shí)驗(yàn)內(nèi)容、閱讀實(shí)驗(yàn)指導(dǎo)書、算法演示、改進(jìn)算法、算法對比分析、提交算法、提交報(bào)告、查看成績、修改個(gè)人信息。平臺管理功能:查看資源、查看計(jì)算作業(yè)、節(jié)點(diǎn)運(yùn)算管理、創(chuàng)建容器環(huán)境、管理容器環(huán)境、恢復(fù)容器環(huán)境、查看進(jìn)度、強(qiáng)制關(guān)閉。10.4.2 構(gòu)建基于云件系
20、統(tǒng)的大數(shù)據(jù)工程實(shí)訓(xùn)平臺 開發(fā)環(huán)境:提供相應(yīng)的開發(fā)環(huán)境,如R、Python、Matlab及Hadoop等環(huán)境。算法庫:能方便地提供數(shù)據(jù)分析和挖掘的常用及經(jīng)典算法,及基于R/Python實(shí)現(xiàn)的代碼。綜合實(shí)驗(yàn)項(xiàng)目案例庫:能提供不同行業(yè)的數(shù)據(jù)資源庫,提供綜合實(shí)驗(yàn)項(xiàng)目案例,供課程選用。數(shù)據(jù)資源庫:能提供多種數(shù)據(jù)資源庫,包含真實(shí)數(shù)據(jù)和模擬數(shù)據(jù),供算法及案例選用。10.4.2 構(gòu)建基于云件系統(tǒng)的大數(shù)據(jù)工程實(shí)訓(xùn)平臺 10.4.2 構(gòu)建基于云件系統(tǒng)的大數(shù)據(jù)工程實(shí)訓(xùn)平臺 圖10.21 大數(shù)據(jù)工程實(shí)訓(xùn)平臺微服務(wù)架構(gòu)和部署方案10.4.2 構(gòu)建基于云件系統(tǒng)的大數(shù)據(jù)工程實(shí)訓(xùn)平臺 圖10.22 大數(shù)據(jù)工程實(shí)訓(xùn)平臺功能和界
21、面平臺用戶分為教師、學(xué)生和管理員三類:(1)教師端:教師登錄平臺后,可以以菜單的方式看到課程、內(nèi)容和環(huán)境。課程管理中包含系統(tǒng)提供的基礎(chǔ)課程,教師可在此基礎(chǔ)上,根據(jù)實(shí)際情況進(jìn)行內(nèi)容篩選和排課;教師通過內(nèi)容管理模塊可對知識點(diǎn)內(nèi)容進(jìn)行編輯管理,也可進(jìn)行課程拓展;還可通過環(huán)境管理模塊完成容器鏡像的維護(hù)工作。(2)學(xué)生端:學(xué)生登錄平臺后,可以看到相關(guān)的課程列表,點(diǎn)擊相應(yīng)課程可進(jìn)入相應(yīng)課程的學(xué)習(xí);課程包含知識點(diǎn)分類列表,知識點(diǎn)實(shí)訓(xùn)的實(shí)驗(yàn)指導(dǎo)書、實(shí)驗(yàn)環(huán)境及實(shí)驗(yàn)成果的提交等菜單項(xiàng);進(jìn)入實(shí)驗(yàn)環(huán)境,也可以方便地查看實(shí)驗(yàn)文檔,包括詳細(xì)參考、實(shí)驗(yàn)筆記和實(shí)驗(yàn)視頻;提交實(shí)驗(yàn)成果后,學(xué)生可查看老師給出的評分,以及實(shí)驗(yàn)筆記。
22、10.4.2 構(gòu)建基于云件系統(tǒng)的大數(shù)據(jù)工程實(shí)訓(xùn)平臺 (3)管理員:管理員登錄平臺后,可以看到環(huán)境、課程、內(nèi)容和用戶。環(huán)境管理模塊主要用于完成對系統(tǒng)、設(shè)備、容器等的狀態(tài)檢測;課程管理模塊主要針對基礎(chǔ)和拓展的課程進(jìn)行管理和維護(hù);內(nèi)容管理模塊可對系統(tǒng)和教師提供的內(nèi)容進(jìn)行維護(hù);用戶管理模塊主要用于管理教師和學(xué)生的賬號。10.4.2 構(gòu)建基于云件系統(tǒng)的大數(shù)據(jù)工程實(shí)訓(xùn)平臺 10.4.2 構(gòu)建基于云件系統(tǒng)的大數(shù)據(jù)工程實(shí)訓(xùn)平臺 10.4.2 構(gòu)建基于云件系統(tǒng)的大數(shù)據(jù)工程實(shí)訓(xùn)平臺 圖10.24 大數(shù)據(jù)工程實(shí)訓(xùn)平臺主要實(shí)驗(yàn)?zāi)K10.5 實(shí)踐:云件應(yīng)用開發(fā)實(shí)例 10.5.1 編碼10.5.2 構(gòu)建10.5.3 運(yùn)行
23、Gedit本身已經(jīng)存在于Ubuntu的官方鏡像源,首先,分析Gedit云件需要依賴哪些配置、資源和庫;然后在編碼過程中將這些依賴進(jìn)行合理地整合或分解;最后,就是實(shí)現(xiàn)流數(shù)據(jù)處理和事件交互的程序。Gedit包含了數(shù)量眾多的GUI在該示例中,選擇Xorg作為Xsrver,輕量級圖形環(huán)境選擇Xfce4,流數(shù)據(jù)處理和事件交互則采用Pulsar程序。因此,整個(gè)編碼過程也就自然分成了3個(gè)獨(dú)立部分。10.5.1 編碼Dockerfile: XorgFROM ubuntu:14.04RUN apt-get updateRUN apt-get install -y xorg xserver-xorg-video-
24、dummy wgetCOPY xorg.conf /etc/xorg.conf代碼10-1 Xorg構(gòu)建腳本Dockerfile: Xfce4-minFROM cloudwarelabs/xorg:latestRUN apt-get updateRUN apt-get install dictionaries-commonRUN /usr/share/debconf/fix_db.pl & dpkg-reconfigure dictionaries-commonRUN apt-get install -y gnome-themes-standard xfce4RUN apt-get remov
25、e -y xscreensaver xscreensaver-dataRUN mkdir -p /root/.config/xfce4/xfconf/xfce-perchannel-xmlCOPY xsettings.xml /root/.config/xfce4/xfconf/xfce-perchannel-xml/COPY xfce4-panel.xml /root/.config/xfce4/xfconf/xfce-perchannel-xml/RUN mkdir -p /root/.config/autostartENTRYPOINT startxfce4代碼10-2 Xfce4構(gòu)建腳
26、本Dockerfile: GeditFROM ubuntu:14.04RUN apt-get updateRUN apt-get install -y geditENV DISPLAY :0CMD gedit代碼10-3 Gedit構(gòu)建腳本Dockerfile: PulsarFROM ubuntu:14.04RUN apt-get updateRUN apt-get install -y libwebp-dev libx11-dev libxdamage-dev libxtst-dev libpng12-0COPY build/pulsar /usr/local/bin/pulsarCOPY libwebsockets.so.11 /usr/lib/COPY pulsar.desktop /root/.config/autostart/ENV DISPLAY :0ENV PULSAR_PORT 5678CMD pulsarEXPOSE 5678代碼10-3 Pulsar構(gòu)建腳本云件的構(gòu)建過程選擇Docker官方提供的容器鏡像構(gòu)建云環(huán)境作為CI的整體基礎(chǔ)。首先,在上注冊一個(gè)賬號,并關(guān)聯(lián)自己的GitHub賬號;然后,分別創(chuàng)建3個(gè)repository,其中構(gòu)建配置填寫對應(yīng)的GitH
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化創(chuàng)意產(chǎn)業(yè)部分股權(quán)出讓與產(chǎn)業(yè)鏈整合合同
- 精裝廠房租賃裝修工程合同樣本
- 城市軌道交通拆遷補(bǔ)償合同
- 餐飲企業(yè)加盟餐廳租賃合同范本含品牌維護(hù)責(zé)任
- 智能家居產(chǎn)品試用售后服務(wù)保障協(xié)議
- 倉儲物流中心場地?zé)o償使用租賃服務(wù)協(xié)議
- 主題餐廳拆伙協(xié)議書樣本
- 高端住宅小區(qū)地下停車位使用權(quán)轉(zhuǎn)讓合同
- 餐飲行業(yè)知識產(chǎn)權(quán)保護(hù)合同模板
- 2024年河南周口地區(qū)洪山鄉(xiāng)聯(lián)合學(xué)校七上數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 子宮脫垂病例護(hù)理討論
- vte病人的健康宣教
- 2024屆四川涼山州數(shù)學(xué)高二第二學(xué)期期末考試試題含解析
- 2023全新包干制物業(yè)服務(wù)合同
- 外賣運(yùn)營培訓(xùn)手冊
- 鋁壓延加工材項(xiàng)目評估報(bào)告
- 多學(xué)科治療協(xié)作模式
- (環(huán)境管理)環(huán)境保護(hù)與水土保持監(jiān)理實(shí)施細(xì)則
- 國際稅收稅收管轄權(quán)
- 云南省昆明市官渡區(qū)2022-2023學(xué)年七年級下學(xué)期期末語文試題(含答案)
- yamaha貼片機(jī)操作規(guī)程
評論
0/150
提交評論