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