黃振華 劉翠煥 武亞麗 尹益艷 閆亮 劉玉龍

【摘要】? ? 本文為滿足民辦高校實訓教學計算能力、存儲能力和高可用性需求,提出了基于Docker的高可用云平臺實訓部署架構設計。
【關鍵詞】? ? Docker? ? 高可用? ? 架構
一、引言
本文將Docker與Hadoop技術應用于高校實訓教學平臺,結合高可用特性,滿足高校實訓平臺模塊化教學、按需組合、按需擴展和快速布署的需求。
二、應用技術研究
云計算是通過網(wǎng)絡統(tǒng)一組織和靈活調用軟件、運行平臺、計算與存儲等資源,實現(xiàn)大規(guī)模計算的信息處理方式。Hadoop大數(shù)據(jù)處理平臺需要較高的讀寫速率。傳統(tǒng)虛擬化技術無法達到真實物理主機的水平,難以靈活配置文件和自動化創(chuàng)建、部署機制[1]。Docker作為輕量級虛擬化容器技術,具有可移植、易使用、跨平臺等優(yōu)勢[3],其使用Linux內核,能夠達到接近物理主機的資源利用率,主要包括以下組件:
Docker Client:客戶端與Docker Daemon守護進程通信,現(xiàn)實對Docker Container的管理[3]。
Docker Daemon:常駐Linux系統(tǒng),啟動Docker Server進程接受Docker Client的請求,Docker Server根據(jù)請求內容將其發(fā)到對應的Docker應用服務容器處理。
Docker Registry:存儲應用服務的容器鏡像,支持創(chuàng)建、搜索、下載和上傳鏡像。官方Docker Hub可搭建私有鏡像庫[2]。
Docker Container:承載應用服務的主體,按指定應用服務容器鏡像計算資源配額、網(wǎng)絡參數(shù)、安全策略等生成相應的應用服務隔離進程。
容器化應用交由Kubernetes管理,目標是簡單且高效的部署、規(guī)劃、更新、維護,滿足學生和教師不同教學模塊。Hadoop集群本身也提供一定的系統(tǒng)高可用性。
三、實訓平臺架構設計
以《面向對象程序設計》和《Hadoop技術》兩門課程為例,均需安裝JDK、Eclipse、MySQL搭建教學和開發(fā)環(huán)境。虛擬化和容器技術透明化底層物理硬件,可充分利用老舊硬件。集群方式根據(jù)計算和性能需求動態(tài)添加。
將常用應用做成鏡像存儲在Docker Registry中,使用Dockerfile文件,拉取系統(tǒng)鏡像,讓鏡像根據(jù)Dockerfile文件的內容自己編譯安裝,減少下載內容和人為干預,減少出錯。Dockerfile文件機制:
1)下載基礎系統(tǒng)鏡像;
2)使用Dockerfile的內建指令下載安裝軟件;
3)使用Dockerfile內建指令加載對應的配置文件。
基于Docker的高可用云平臺架構設計[4]。如下圖:
高可用性:底層數(shù)據(jù)庫采用基于Galera Cluster的雙活多主MariaDB集群,實現(xiàn)多主架構、同步復制、緊密耦合、無需主從切換、熱Standby、自動節(jié)點配置、對應用透明、無需進行讀寫分離。
數(shù)據(jù)存儲:采用FastDFS,解決大容量存儲和負載均衡。
集群應用服務器:采用Redis共享Session和Tomcat集群,實現(xiàn)動態(tài)添加節(jié)點。
四、結束語
本文提出的基于Docker的高可用性云平臺架構是一種新型的、動態(tài)化的系統(tǒng)部署方式,為高校實訓應用部署提供了一種有效途徑參考。
參? 考? 文? 獻
[1] 趙樂樂,黃剛,馬越. 基于Docker的Hadoop平臺架構研究. 計算機技術與發(fā)展. 2016年9月.第26卷,第9期. 99-103
[2] 張建,謝天鈞. 基于Docker的平臺即服務架構研究. 信息技術與信息化. 2014年11月. 第10期. 131-134
[3] 孫宏亮.Docker源碼分析(一):Docker 架構[EB/OL].[2014-09-25].http: / / www.infoq.com /cn/arti-cles /docker-source-code-analysis-part1.
[4] 張利修. 基于Docker的高可用性應用集群架構研究_張利修. 數(shù)字技術與應用. 2017年12月021. 39-40