譚忠理
(廣州開發(fā)區(qū)政府投資建設(shè)項目管理中心)
云計算是互聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展20年后新的變革,在互聯(lián)網(wǎng)基礎(chǔ)設(shè)施及應(yīng)用方面比較成熟,人們的生活數(shù)字化程度不斷加強(qiáng),互聯(lián)網(wǎng)形成的架構(gòu)和模式無法支撐網(wǎng)絡(luò)需求快速增長的背景下,IT產(chǎn)業(yè)開始走向云計算時代。2012年我國政府工作報告對云計算做了如下定義:云計算是基于互聯(lián)網(wǎng)服務(wù)的增加、使用和交付模式,涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源,是傳統(tǒng)計算機(jī)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物,它意味著計算能力也可作為一種商品通過互聯(lián)網(wǎng)進(jìn)行流通。
1.2.1 從硬件推動到網(wǎng)絡(luò)推動
縱觀信息產(chǎn)業(yè),可以發(fā)現(xiàn)硬件技術(shù)和網(wǎng)絡(luò)技術(shù)是推動其發(fā)展的主要力量,如圖1所示。硬件驅(qū)動的時代誕生了IBM、微軟、Intel等企業(yè)。隨著網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)通信帶寬逐步加大,逐漸成為推動信息產(chǎn)業(yè)發(fā)展的主導(dǎo)力量,隨之誕生了百度、谷歌、亞馬遜等企業(yè)。直到云計算的出現(xiàn)才標(biāo)志著網(wǎng)絡(luò)已成為信息產(chǎn)業(yè)發(fā)展的主要驅(qū)動力,此時技術(shù)的變革即將出現(xiàn)。
1.2.2 計算技術(shù)向云計算、大數(shù)據(jù)演進(jìn)
在硬件推動向網(wǎng)絡(luò)推動轉(zhuǎn)變的過程中,計算技術(shù)還呈現(xiàn)出以下的發(fā)展趨勢。
1)從面向計算到面向數(shù)據(jù)的發(fā)展過程。
2)從以硬件為核心到以網(wǎng)絡(luò)為核心。
3)從集中到分散再到集中。
計算技術(shù)向云計算、大數(shù)據(jù)的發(fā)展過程如圖2所示。
云計算是我國IT產(chǎn)業(yè)發(fā)展的戰(zhàn)略性機(jī)遇,國家高度重視、積極引導(dǎo)云計算產(chǎn)業(yè)的發(fā)展。2012年3月,在國務(wù)院政府工作報告中,云計算被作為重要附錄給出了一個政府官方的解釋,在此之前云計算已經(jīng)作為國家重點支持發(fā)展的戰(zhàn)略性新興產(chǎn)業(yè),列入《中華人民共和國國民經(jīng)濟(jì)和社會發(fā)展第十二個五年規(guī)劃綱要》。
作為我國重點發(fā)展的戰(zhàn)略性新興產(chǎn)業(yè),云計算、大數(shù)據(jù)成為各地政府大力支持的產(chǎn)業(yè),云計算企業(yè)和相關(guān)產(chǎn)品出現(xiàn)持續(xù)性快速增長。下面對云計算、大數(shù)據(jù)及數(shù)據(jù)中心方向的國家自然科學(xué)基金項目進(jìn)行分析與研究。2009年-2013年3個方向的立項數(shù)據(jù)如圖3所示。
與其他新興學(xué)科類似,云計算、大數(shù)據(jù)作為一個新興的技術(shù)方向在早期教學(xué)、科研中遇到很多亟待解決的問題,比如,在教學(xué)領(lǐng)域會面臨無教材、無教師、無實驗設(shè)備的“三無”窘境,同時專業(yè)如何設(shè)置、課程如何組建、老師教什么、學(xué)生如何學(xué)、實驗做什么;在科研領(lǐng)域,研究方向如何確立、科研設(shè)備如何設(shè)計等問題。
1)教學(xué)實訓(xùn)基礎(chǔ)功能。滿足計算機(jī)、電子等相關(guān)專業(yè)的公共基礎(chǔ)課程的教學(xué)需求,既能完成常規(guī)課程的一對多教學(xué)實訓(xùn)任務(wù),又能完成相關(guān)課程的單機(jī)實驗任務(wù)。
2)基于虛擬化的教學(xué)實訓(xùn)專業(yè)功能。虛擬化作為云計算系統(tǒng)的重要特征,是需要實現(xiàn)的重要目標(biāo)之一,為基于虛擬化的應(yīng)用和研究提供平臺,實現(xiàn)虛擬機(jī)的快速部署。
3)基于集群的教學(xué)實訓(xùn)專業(yè)功能。滿足并行計算、云計算、大數(shù)據(jù)等方向課程的教學(xué)實訓(xùn)功能,建立云計算大數(shù)據(jù)教學(xué)集群環(huán)境,搭建、配置典型的集群系統(tǒng)。
4)支持720個云終端桌面,可取代720個PC電腦,可滿足計算機(jī)系、電子系等專業(yè)的實訓(xùn)內(nèi)容。
5)支持主流分布式存儲系統(tǒng)(Gluster、Mfs)的規(guī)劃、設(shè)計、搭建、使用調(diào)試、故障維護(hù)及開發(fā)。
2.2.1 一體化原則
集廣播教學(xué)、單機(jī)實驗、虛擬化實驗、集群實驗、高性能計算等多種功能于一體,能向不同用戶同時提供多種教學(xué)、實驗硬件方案服務(wù)。
2.2.2 高密度原則
采用高密度服務(wù)器,構(gòu)建硬件集群,實現(xiàn)教學(xué)實訓(xùn)平臺,使平臺具備足夠的物理節(jié)點,同時實現(xiàn)較高性價比。
2.2.3 多平臺原則
在一套硬件平臺上實現(xiàn)多個云計算大數(shù)據(jù)軟件系統(tǒng),搭建多種類型的云計算、大數(shù)據(jù)集群環(huán)境,實現(xiàn)多平臺共存。
為了在一套平臺上實現(xiàn)以上的功能目標(biāo),本文采用云終端+高密度集群的方案構(gòu)建平臺,使用KVM將集群資源進(jìn)行虛擬化,虛擬出眾多的虛擬機(jī),構(gòu)成規(guī)模更大的集群用戶。
由于本教學(xué)實訓(xùn)平臺既要滿足虛擬化的要求,又要滿足集群計算的實驗要求,因此本文采用胖節(jié)點+刀片機(jī)的架構(gòu)。
實驗系統(tǒng)平臺結(jié)構(gòu)如圖4所示。
在以上的虛擬化平臺上分配虛擬機(jī),部署MPI,HPCC,Hadoop,Storm平臺,構(gòu)建大數(shù)據(jù)集群實驗系統(tǒng)。
硬件穩(wěn)定性及散熱性測試的項目、方法及結(jié)果等如表1、表2所示。
表1 硬件穩(wěn)定性測試內(nèi)容
表2 散熱性測試內(nèi)容
在瀏覽器地址欄輸入IP地址,出現(xiàn)登錄虛擬機(jī)管理節(jié)點的登錄界面。輸入賬號、密碼,可正常登錄虛擬機(jī)管理系統(tǒng)。在此界面中設(shè)置虛擬機(jī)的參數(shù)信息,選擇Linux操作系統(tǒng),進(jìn)入虛擬機(jī)的參數(shù)設(shè)置界面。
1)運行EWB5.0。測試結(jié)果表明,在本平臺上可以正常運行EWB 5.0。
2)運行Keil。測試結(jié)果表明,在本平臺上可以正常運行Keil。
3)運行Modelsim 10.1a。測試結(jié)果表明,在本平臺上可以正常運行Modelsim 10.1a。
采取以下步驟搭建MPI并行開發(fā)環(huán)境。
1)獲取3臺安裝有Linux系統(tǒng)的虛擬機(jī)。
2)保證每個節(jié)點的sshd服務(wù)(Secure Shell)能正常啟動(root權(quán)限)。
3)永久關(guān)閉每個節(jié)點的防火墻(root權(quán)限),避免MPI不能訪問網(wǎng)絡(luò)造成程序執(zhí)行出錯。
4)為每個節(jié)點分配IP地址(root權(quán)限)。
5)修改機(jī)器名(root權(quán)限)。
6)配置/etc/hosts文件(root權(quán)限)。
7) 掛載NFS文件系統(tǒng)。
8)配置ssh實現(xiàn)MPI節(jié)點間用戶的無密碼訪問。
9)安裝MPICH2。
1)配置Hadoop環(huán)境
2)配置ssh實現(xiàn)Hadoop結(jié)點間用戶的無密碼訪問。
Hadoop需要進(jìn)行信息傳遞,所以需要達(dá)到結(jié)點間的無密碼訪問,這和利用MPI實現(xiàn)并行程序是一樣的,否則系統(tǒng)會周而復(fù)始地請求密碼驗證。
3) JDK的安裝配置
Hadoop是采用Java編寫的,所以需要安裝java的JDK。
4)安裝配置
(1)解壓Hadoop,并將其置于用戶的主目錄/root下。
(2) Hadoop配置文件的修改。
(3)格式化Namenode(格式化Namenode是運行Hadoop之前的必須步驟),執(zhí)行Hadoop的bin文件夾中的格式化命令。
(4) Hadoop的運行和停止,運行Hadoop的bin目錄下的start-all.sh,啟動和停止Hadoop。
(5)測試Hadoop。
5)在Hadoop環(huán)境下實現(xiàn)WordCount
(1)啟動Hadoop服務(wù)。
(2) Hadoop創(chuàng)建Hadoop分布式文件系統(tǒng)輸入目錄。
(3)把本地目錄下的文件上傳到Hadoop的分布式文件系統(tǒng)的輸入目錄。
(4)運行WordCount 列子。
(5)查看程序運行結(jié)果。
4.3.1 安裝準(zhǔn)備工作
1)分配4個虛擬節(jié)點,安裝64位CentOS系統(tǒng),若系統(tǒng)為32位的,則使用的 JDK也需要32位。
2)將4個虛擬機(jī)的IP地址設(shè)置為192.168.122.101~192.168.122.104。
3)安裝Storm所需的依賴軟件:Python,JDK,gcc-c++,libtool,libuuid,libuuid-devel。
4)安裝下列工具包:Zookeeper,Zermq,JZMQ,Storm,Maven。
4.3.2 安裝步驟
1)安裝依賴文件:安裝JDK,設(shè)置環(huán)境變量,打開/etc/profile,使用指令“java –version”查看安裝是否成功。
2)安裝Zookeeper:對ZOOKEEPER_HOME和ZOOKEEPER_HOME/bin進(jìn)行設(shè)置,新建目錄/tmp/zookeeper和/var/log/zookeeper存放臨時文件。
3)安裝Storm:編輯配置文件,在文件最下方添加Storm的配置信息。4.3.3 設(shè)置Storm
1)在各個節(jié)點上注意設(shè)置zookeeper,在/usr/local/zookeeper/conf/zoo.cfg文件末尾加上以下代碼:
2)將/usr/local/storm/conf/storm.yaml文件中的storm.zookeeper.servers下面的內(nèi)容替換為192.168.122.101~192.168.122.104。將nimbus.hosts設(shè)置為192.168.122.101。
4.3.4 啟動Storm
1)主節(jié)點(192.168.122.101)上執(zhí)行:
2)在子節(jié)點(192.168.122.102~192.168.122.104)上執(zhí)行:
現(xiàn)在檢測是否安裝成功,通過瀏覽器輸入192.168.122.101:8080查看,成功后就可以啟動實例進(jìn)行測試。
4.4.1 準(zhǔn)備工作
配置ssh無密碼訪問,這步工作在配置MPI開發(fā)環(huán)境時已經(jīng)配置完成。
4.4.2 安裝工作
1)在安裝HPCC的過程中,需要在每個節(jié)點上安裝HPCC。
HPCC的安裝文件分為插件版和不帶插件版,其官方網(wǎng)站提供了兩種安裝文件的下載包。其中,插件版提供了Java、Python等語言的支持。兩種版本的安裝指令有所不同。
2)啟動HPCC系統(tǒng)服務(wù)。
3)檢查啟動的HPCC服務(wù)情況。
4)停止HPCC服務(wù)。安裝成功后,HPCC會將文件安裝到默認(rèn)的路徑。
4.4.3 配置集群環(huán)境
1) 停止HPCC系統(tǒng)服務(wù)。在啟動HPCC集群配置服務(wù)前,需要首先停止全部節(jié)點上的HPCC服務(wù)。
2)啟動配置服務(wù),啟動之后用戶可以通過Web界面接口啟動集群環(huán)境配置。
3)通過瀏覽器登錄集群,進(jìn)行集群配置,登錄8015端口即可進(jìn)入集群環(huán)境配置界面。
4)創(chuàng)建自己的集群配置文件。
5)集群網(wǎng)絡(luò)配置。填寫集群的網(wǎng)絡(luò)地址信息,配置文件根據(jù)此處填寫的IP地址信息將Thor集群和Roxie集群分配到各個節(jié)點。
6)配置Thor集群和Roxie集群的節(jié)點數(shù)。
7)用新生成的配置文件替換原始的配置文件。
8)重新啟動集群。
4.4.4 在HPCC環(huán)境下進(jìn)行數(shù)據(jù)處理
在HPCC平臺上對固定長度的數(shù)據(jù)集進(jìn)行變換,數(shù)據(jù)格式如表3所示。
表3 數(shù)據(jù)格式
云計算、大數(shù)據(jù)產(chǎn)業(yè)的發(fā)展催生了市場對人才的需求。計算和數(shù)據(jù)是信息產(chǎn)業(yè)發(fā)展的兩大主題,云計算、大數(shù)據(jù)的核心技術(shù)緊緊圍繞這兩大主題。虛擬化技術(shù)和集群計算技術(shù)是云計算、大數(shù)據(jù)相關(guān)專業(yè)必須掌握的技術(shù)。
高校在開設(shè)云計算、大數(shù)據(jù)專業(yè)課程的時候往往缺乏教學(xué)實訓(xùn)的實驗平臺,并且缺乏教學(xué)實訓(xùn)方案。
本文圍繞云計算與大數(shù)據(jù)的核心特點,設(shè)計實現(xiàn)了一套適合教學(xué)實訓(xùn)的云計算、大數(shù)據(jù)硬件實驗平臺。平臺采用瘦終端+集群的硬件解決方案,并在此硬件平臺上構(gòu)建虛擬化平臺,以滿足普通的教學(xué)實驗,構(gòu)建虛擬化實驗環(huán)境;同時,在此基礎(chǔ)上構(gòu)建多種集群計算環(huán)境,以滿足大數(shù)據(jù)和高性能計算教學(xué)實訓(xùn)的要求。