韋堯,陳子陽(yáng),程靜文,高聰碩,張正艷,呂震宇
(華北理工大學(xué) 管理學(xué)院,河北 唐山 063000)
?
基于CubieBoard的大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)
韋堯,陳子陽(yáng),程靜文,高聰碩,張正艷,呂震宇
(華北理工大學(xué) 管理學(xué)院,河北 唐山 063000)
實(shí)驗(yàn)平臺(tái);大數(shù)據(jù);Hadoop
針對(duì)傳統(tǒng)大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)部署成本高、網(wǎng)絡(luò)環(huán)境配置復(fù)雜等問(wèn)題,將CubieBoard引入大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)架構(gòu),搭建了五節(jié)點(diǎn)的大數(shù)據(jù)實(shí)驗(yàn)環(huán)境,完成了Hadoop集群部署、MapReduce應(yīng)用開(kāi)發(fā)部署和Mahout大數(shù)據(jù)分析挖掘?qū)嶒?yàn)。該平臺(tái)搭建成本低,部署容易,非常適合高校本科生和研究生作為大數(shù)據(jù)學(xué)習(xí)的入門(mén)實(shí)驗(yàn)平臺(tái)。
“大數(shù)據(jù)”是近些年來(lái)國(guó)內(nèi)外關(guān)注的熱點(diǎn),目前在眾多大型企業(yè)中廣泛應(yīng)用。然而大數(shù)據(jù)教育,特別是本科生大數(shù)據(jù)教育卻明顯落后于企業(yè)發(fā)展,使得目前技術(shù)市場(chǎng)上掌握大數(shù)據(jù)技術(shù)的人才嚴(yán)重短缺。早在2012年,美國(guó)國(guó)家教育部就已經(jīng)頒布了《通過(guò)教育數(shù)據(jù)挖掘和學(xué)習(xí)分析促進(jìn)教與學(xué)》報(bào)告,已經(jīng)將大數(shù)據(jù)融入學(xué)習(xí)變革當(dāng)中[1];我國(guó)CCF大數(shù)據(jù)專(zhuān)家委員會(huì)在《2015年大數(shù)據(jù)發(fā)展趨勢(shì)預(yù)測(cè)》中發(fā)布了2015年大數(shù)據(jù)十大發(fā)展趨勢(shì),其中一項(xiàng)就是“大數(shù)據(jù)技術(shù)課程體系建設(shè)和人才培養(yǎng)是需要高度關(guān)注的問(wèn)題”[2]。然而大數(shù)據(jù)人才培養(yǎng)一方面需要加快將業(yè)界應(yīng)用技術(shù)向高校轉(zhuǎn)移,但另外一方面卻受制于大數(shù)據(jù)高昂的硬件建設(shè)成本。一套大數(shù)據(jù)平臺(tái)硬件設(shè)備動(dòng)輒需要數(shù)十萬(wàn)元到上百萬(wàn),大多被用于科研[3-5],很難大規(guī)模用于本科生教學(xué)工作。因此,目前很多大數(shù)據(jù)實(shí)驗(yàn)轉(zhuǎn)而尋求在虛擬機(jī)上完成,但受到計(jì)算機(jī)硬件能力限制,目前基于虛擬機(jī)的大數(shù)據(jù)實(shí)驗(yàn)多以單機(jī)實(shí)驗(yàn)為主,很難完成多機(jī)集群部署。
隨著嵌入式設(shè)備的發(fā)展,2012年以樹(shù)莓派為代表的迷你主機(jī)逐漸成為計(jì)算機(jī)硬件發(fā)展的一條強(qiáng)大的支流[6-7]。樹(shù)莓派在硬件和軟件上都采取了開(kāi)源的形式,相比單片機(jī)具備更完備的元件、接口以及操作系統(tǒng),在普通電腦上可以實(shí)現(xiàn)的功能,在樹(shù)莓派上基本都可以實(shí)現(xiàn)。國(guó)內(nèi)珠海方糖科技(CubieTech)2013年推出了CubieBoard,在性能不低于樹(shù)莓派的情況下成本要低于樹(shù)莓派[8],該產(chǎn)品一經(jīng)推出迅速得到了眾多軟、硬件廠(chǎng)商的支持,包括Android以及Ubuntu等。法國(guó)的NanoXion IT公司2014年2月與法國(guó)電信部門(mén)簽訂了合作協(xié)議,提供基于CubieBoard硬件平臺(tái)的托管服務(wù),這標(biāo)志著基于A(yíng)RM架構(gòu)的面向服務(wù)器的Linux Debian專(zhuān)用托管優(yōu)化解決方案的出現(xiàn)[9]。泰國(guó)蘇蘭拉工業(yè)大學(xué)的Chanwit和他的團(tuán)隊(duì)使用Cubietruck作為硬件平臺(tái),基于A(yíng)pache的Spark和Hadoop搭建了跨平臺(tái)混合云[10]。國(guó)內(nèi)基于迷你主機(jī)的實(shí)驗(yàn)平臺(tái)建設(shè)剛剛起步,2014年3月16日杭州熾鳥(niǎo)集團(tuán)采用CubieTruck作為云終端,建立了一套以CubieTruck為平臺(tái)的嵌入式實(shí)踐教學(xué)體系,但主要是培養(yǎng)學(xué)員對(duì)Linux系統(tǒng)和硬件外設(shè)的理解[11]。
該項(xiàng)研究將CubieBoard作為大數(shù)據(jù)實(shí)驗(yàn)底層硬件平臺(tái),并以此開(kāi)發(fā)了Hadoop集群部、MapReduce應(yīng)用開(kāi)發(fā)與部署、大數(shù)據(jù)分析與挖掘等實(shí)驗(yàn)項(xiàng)目[12, 13],不但可以解決大數(shù)據(jù)硬件平臺(tái)成本問(wèn)題,還可以將大數(shù)據(jù)課程體系及實(shí)驗(yàn)體系迅速普及到高校本科生、研究生,為培養(yǎng)大數(shù)據(jù)技術(shù)人才奠定低成本實(shí)驗(yàn)平臺(tái)基礎(chǔ)。
1.1硬件選擇
計(jì)算節(jié)點(diǎn)使用CubieBoard2平臺(tái),該平臺(tái)擁有ARM cortex A7雙核CPU;1GB DDR3 960 MHz內(nèi)存;4GB Nand Flash固態(tài)存儲(chǔ),還可通過(guò)Sata接口連接外部硬盤(pán)擴(kuò)充存儲(chǔ)容量;提供2個(gè)USB接口、1個(gè)100 M網(wǎng)卡接口和1個(gè)HDMI 1080p高清輸出接口;平臺(tái)還提供紅外接口、Micro SD卡槽和音頻輸出接口。
輔助硬件包括8口交換機(jī)1個(gè)、5口USB電源1個(gè)、以及鍵盤(pán)、鼠標(biāo)、顯示器各1個(gè)。
1.2軟件選擇
軟件使用專(zhuān)門(mén)為CubieBoard提供的ubuntu 13.06作為底層操作系統(tǒng)平臺(tái),使用Phonenix Suit作為刷機(jī)工具,Putty作為終端連接工具。
在CubieBoard上部署好ubuntu操作系統(tǒng)后,安裝ARM版JDK 8u33。Hadoop版本為2.5.0(CDH5.2.0),Mahout版本為0.10.2。MapReduce應(yīng)用開(kāi)發(fā)使用ideaIC。
由于CubieBoard默認(rèn)只提供20 M的/tmp存儲(chǔ)空間,會(huì)導(dǎo)致mahout在執(zhí)行時(shí)出現(xiàn) “No space left on device”錯(cuò)誤,因此需要?jiǎng)h除該配置選項(xiàng)。
1.3整體結(jié)構(gòu)設(shè)計(jì)
基于CubieBoard的大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)由1臺(tái)交換機(jī)、5臺(tái)CubieBoard組成的Hadoop集群和1臺(tái)電腦終端構(gòu)成。如圖1所示:
圖1基于CubieBoard的大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)結(jié)構(gòu)
如果需要在機(jī)房部署,可增加1個(gè)DHCP服務(wù)器,以便CubieBoard能夠自動(dòng)獲得IP地址,避免IP沖突影響其它同學(xué)實(shí)驗(yàn)進(jìn)程。
實(shí)驗(yàn)設(shè)備實(shí)物照片如圖3所示:
圖3 基于CubieBoard的大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)實(shí)物照片
1.4五節(jié)點(diǎn)大數(shù)據(jù)實(shí)驗(yàn)集群設(shè)計(jì)
五節(jié)點(diǎn)大數(shù)據(jù)實(shí)驗(yàn)集群設(shè)計(jì)如圖4所示,每臺(tái)CubieBoard設(shè)備被分別賦予了NameNode、DataNode、JournalNode、Resource Manager和Node Manager等不同角色。
圖4 五節(jié)點(diǎn)大數(shù)據(jù)實(shí)驗(yàn)集群設(shè)計(jì)
2.1實(shí)驗(yàn)結(jié)果
該平臺(tái)上的實(shí)驗(yàn)包括Hadoop集群部署、MapReduce應(yīng)用程序開(kāi)發(fā)與部署以及Mahout數(shù)據(jù)分析挖掘。
使用MapReduce算法以“pi 4 500”為參數(shù)計(jì)算PI值,任務(wù)完成時(shí)間為1min38s(如圖5所示)。由圖6可以看出Node05充當(dāng)了Application Master節(jié)點(diǎn),而使用Node02、Node03、Node04充當(dāng)了4個(gè)Task節(jié)點(diǎn)(Node02上部署了2個(gè)Task)。
圖7演示了在該實(shí)驗(yàn)平臺(tái)上使用Mahout進(jìn)行kmeans算法測(cè)試時(shí)的界面。完成10次迭代外加輸入、輸出12個(gè)MapReduce應(yīng)用共用時(shí)32 min。
圖5計(jì)算PI的任務(wù)完成界面(圖像經(jīng)裁剪)
圖6 計(jì)算PI時(shí)YARN任務(wù)分派(圖像經(jīng)裁剪重組)
圖7 使用Mahout進(jìn)行kmeans算法測(cè)試界面
2.2成本性能分析
盡管基于CubieBorad的大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)在性能上不占優(yōu)勢(shì),不適合完成大規(guī)模數(shù)據(jù)分析與挖掘,然而卻具有成本低、易部署的特點(diǎn)。表1對(duì)基于服務(wù)器、虛擬機(jī)和CubieBoard的五節(jié)點(diǎn)大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)進(jìn)行了對(duì)比。
表1 不同硬件環(huán)境部署五節(jié)點(diǎn)大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)對(duì)比
基于CubieBoard的大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)具有成本低,部署簡(jiǎn)單的特點(diǎn),還可以兼顧用于嵌入式開(kāi)發(fā)實(shí)驗(yàn)和Android開(kāi)發(fā)實(shí)驗(yàn)?;贑ubieBoard的大數(shù)據(jù)實(shí)驗(yàn)平臺(tái)非常適合作為高校本科生和研究生學(xué)習(xí)大數(shù)據(jù)的入門(mén)實(shí)驗(yàn)平臺(tái)。
[1]徐鵬,王以寧,劉艷華,等.大數(shù)據(jù)視角分析學(xué)習(xí)變革——美國(guó)《通過(guò)教育數(shù)據(jù)挖掘和學(xué)習(xí)分析促進(jìn)教與學(xué)》報(bào)告解讀及啟示[J].遠(yuǎn)程教育雜志,2013,(6):11-17.
[2]CCF大數(shù)據(jù)專(zhuān)家委員會(huì).2015年大數(shù)據(jù)發(fā)展趨勢(shì)預(yù)測(cè)[J].中國(guó)計(jì)算機(jī)學(xué)會(huì)通訊,2015,11(1):48-52.
[3]張倩怡.百度和聯(lián)合國(guó)機(jī)構(gòu)共建大數(shù)據(jù)實(shí)驗(yàn)室[N].北京日?qǐng)?bào),2014-08-19.
[4]邱燕娜.中青云大數(shù)據(jù)聯(lián)合實(shí)驗(yàn)室在京掛牌[N].中國(guó)計(jì)算機(jī)報(bào),2015-02-02.
[5]劉珍意,劉艷貴.貴陽(yáng)大數(shù)據(jù)戰(zhàn)略重點(diǎn)實(shí)驗(yàn)室揭牌[N].中國(guó)質(zhì)量報(bào),2015-06-04.
[6]李文勝.基于樹(shù)莓派的嵌入式Linux開(kāi)發(fā)教學(xué)探索[J].電子技術(shù)與軟件工程,2014,(09):219-220.
[7]于志強(qiáng),溫志渝,謝瑛珂,等.基于樹(shù)莓派的多參數(shù)水質(zhì)檢測(cè)儀控制系統(tǒng).儀表技術(shù)與傳感器,2015,(06):20-27.
[8]鄭浩榕,魏天翼.Cubieboard:追趕樹(shù)莓派[EB/OL].2013-07-29.http://www.yicai.com/news/2013/07/2897708.html.
[9]The NanoXion Team. CubieBoard colocation service Named Cubiebox first launched in France[EB/OL]. http://cubieboard.org/2014/02/18/cubieboard-colocation-service-named-cubiebox-first-launched-in-france/,2014-2-18.
[10]ahha lee. Cross-Platform Hybrid Cloud with Docker based on Cubietruck[EB/OL]. http://cubieboard.org/2015/06/05/cross-platform-hybrid-cloud-with-docker-based-on-cubietruck/,2015-6-5.
[11]ahha lee. ChirdTeam First Use CubieTruck as i-cloud Embedded Training Platform in Hangzhou[EB/OL]. http://cubieboard.org/2014/03/26/chird-team-frist-use-cubietruck-as-i-cloud-embedded-technology-education-platform-in-hangzhou/, 2014-3-26.
[12]王珊,王會(huì)舉,覃雄派,等.架構(gòu)大數(shù)據(jù):挑戰(zhàn)、現(xiàn)狀與展望[J].計(jì)算機(jī)學(xué)報(bào),2011,34(10):1741-1752.
[13]程學(xué)旗,靳小龍,王元卓,等.大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述[J].軟件學(xué)報(bào),2014,25(09):1889-1908.
Big Data Experimental Platform Design Base on CubieBoard
WEI Yao, CHEN Zi-yang, CHENG Jing-wen, GAO Cong-shuo, ZHANG Zheng-yan, LYU Zhen-yu
(College of Management, North China University of Science and Technology, Tangshan Hebei 063000, China)
experimental platform; big data; Hadoop
The traditional big data experimental platform has the problems of high cost and complex network configuration. CubieBoard is introduced and a five nodes big data experimental environment is built. Hadoop cluster deployment, MapReduce application development and Mahout data-mining experiment are complete on this platform. It has low cost and easy to deploy features, and very suitable for college students and graduate students as the entry experimental platform for big data learning.
2095-2716(2016)03-0098-05
TP368.2
A