裴浩
摘要:大數(shù)據(jù)技術(shù)的發(fā)展對(duì)人才的需求發(fā)生了變化,提出高職計(jì)算機(jī)相關(guān)專業(yè)增加Hadoop課程作為教學(xué)內(nèi)容,調(diào)整人才培養(yǎng)計(jì)劃,以滿足大數(shù)據(jù)技術(shù)崗位的要求。文中分析了Hadoop的架構(gòu),并給出了Hadoop教學(xué)平臺(tái)的實(shí)施方案和具體的課程教學(xué)內(nèi)容,促進(jìn)教學(xué)改革的實(shí)施。
關(guān)鍵詞:大數(shù)據(jù);高職;計(jì)算機(jī);Hadoop課程;教學(xué)改革
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)30-0131-02
1引言
近年來,隨著數(shù)據(jù)的極速膨脹,大數(shù)據(jù)技術(shù)研究越來越深入,并且得到了廣泛的應(yīng)用。因此,為了適應(yīng)大數(shù)據(jù)發(fā)展的要求,Apache基金會(huì)開發(fā)了一個(gè)分布式系統(tǒng)架構(gòu)——Hadoop,已成為廣泛應(yīng)用的大數(shù)據(jù)運(yùn)算平臺(tái)。同時(shí),高職院校應(yīng)調(diào)整相關(guān)專業(yè)的培訓(xùn)計(jì)劃,增加Hadoop課程教學(xué),調(diào)整培養(yǎng)目標(biāo),以滿足大數(shù)據(jù)技術(shù)發(fā)展的人才需求。具體的培養(yǎng)目標(biāo)是:培養(yǎng)具有計(jì)算機(jī)網(wǎng)絡(luò)、大數(shù)據(jù)及云計(jì)算的專業(yè)知識(shí),實(shí)踐能力強(qiáng)、職業(yè)道德素養(yǎng)高,具備云平臺(tái)的管理能力和網(wǎng)絡(luò)軟件開發(fā)能力,能夠從事網(wǎng)絡(luò)工程設(shè)計(jì)實(shí)施、網(wǎng)絡(luò)高級(jí)管理維護(hù)、網(wǎng)絡(luò)開發(fā)、云平臺(tái)組建及管理以及大數(shù)據(jù)存儲(chǔ)、計(jì)算及分析等崗位的高級(jí)技能型人才。
2 Hadoop架構(gòu)
如圖1所示,Hadoop的核心設(shè)計(jì)就是:HDFS文件系統(tǒng)和MapReduce編程模型。HDFS為海量的數(shù)據(jù)提供了存儲(chǔ),則MapReduce為海量的數(shù)據(jù)提供了計(jì)算。用戶可以基于Hadoop開發(fā)分布式程序,并且使用集群計(jì)算機(jī)的能力實(shí)現(xiàn)數(shù)據(jù)的分布式并行處理,實(shí)現(xiàn)充分利用集群的威力進(jìn)行高速運(yùn)算和存儲(chǔ)。
1)Hadoop節(jié)點(diǎn)
Hadoop主要包括MasterNode主節(jié)點(diǎn)和SlaveNode從節(jié)點(diǎn)。
MasterNode主要運(yùn)行NameNode名稱節(jié)點(diǎn)和Job Tracker任務(wù)追蹤,前者主要負(fù)責(zé)數(shù)據(jù)存儲(chǔ)(HDFS)的調(diào)度,后者負(fù)責(zé)數(shù)據(jù)并行處理(Map-Reduce)的調(diào)度。它們主要運(yùn)行在管理端服務(wù)器上。
SlaveNode主要運(yùn)行DataNode數(shù)據(jù)節(jié)點(diǎn)和Task Tracker實(shí)例追蹤,它的運(yùn)行需要大量計(jì)算機(jī)的支持,完成具體的分布式數(shù)據(jù)存儲(chǔ)以及運(yùn)行計(jì)算。每個(gè)SlaveNode都運(yùn)行DataNode和Task Tracker,Task tracker由Job Tracker管理,DataNode由NameNode管理。
2)Hadoop數(shù)據(jù)流
在Hadoop中,每個(gè)MapReduce任務(wù)都被初始化為一個(gè)Job,每個(gè)Job又可以分為兩種階段:map階段和reduce階段。這兩個(gè)階段分別用兩個(gè)函數(shù)表示,即map函數(shù)和reduce函數(shù)。map函數(shù)接收一個(gè)
3)Hadoop生態(tài)系統(tǒng)
如圖2所示,隨著Hadoop研究的深入,其它圍繞Hadoop的開源項(xiàng)目也在發(fā)展,比例HBase、Hive、Pig、Zookeeper等構(gòu)建了Hadoop生態(tài)系統(tǒng),它們隸屬于不同的項(xiàng)目組,提供了更完整的大數(shù)據(jù)處理方案。其中,生態(tài)系統(tǒng)的核心仍是HDFS和MapReduce。
3 Hadoop課程教學(xué)實(shí)施
3.1 Hadoop教學(xué)平臺(tái)
1)拓?fù)浣Y(jié)構(gòu)
現(xiàn)有計(jì)算機(jī)實(shí)驗(yàn)室大多已構(gòu)建成局域網(wǎng),因此可以基于現(xiàn)有實(shí)驗(yàn)室計(jì)算機(jī)和交換機(jī),完成Hadoop教學(xué)平臺(tái)的構(gòu)建。
2)系統(tǒng)要求
MasterNode主節(jié)點(diǎn)服務(wù)器需要較高的運(yùn)算能力,因此要求使用較快的CPU和較大的內(nèi)存,其他節(jié)點(diǎn)使用原有配置。所有計(jì)算機(jī)采用Linux Ubuntu 64位網(wǎng)絡(luò)操作系統(tǒng),可以提供穩(wěn)定的網(wǎng)絡(luò)服務(wù)和計(jì)算性能。
3)Cloudera CDH開源框架
目前,主要的免費(fèi)Hadoop提供商為Apache Hadoop(原始版,其他均基于此版本改進(jìn))、Cloudera CDH(Clouderas Distribution Including Apache Hadoop,CDH)、Hortonworks HDP(Hortonworks Data Platform,HDP)。由于Cloudera CDH的優(yōu)點(diǎn),絕大多數(shù)應(yīng)用選擇CDH。Cloudera CDH和Apache Hadoop相比主要改進(jìn)如下:
(1)CDH版本劃分清晰,只有CDH3和CDH4兩個(gè)系列,在兼容性、安全性和穩(wěn)定性性都比Apache Hadoop要好。
(2)CDH更新速度快,并且能夠及時(shí)修改Bug,比比Apache hadoop同功能版本提早發(fā)布。
(3) CDH支持Kerberos安全認(rèn)證,與Apache Hadoop簡(jiǎn)單的用戶名認(rèn)證相比,要安全的多。
(4)CDH文檔清晰,便于用戶的閱讀和操作。
(5)CDH支持多種安裝包,安裝更靈活,如Yum/Apt包、Tar包、RPM包等。然而,Apache Hadoop只支持Tar包安裝。
3.2 Hadoop教學(xué)內(nèi)容
如表1所示,Hadoop教學(xué)內(nèi)容主要包括大數(shù)據(jù)基礎(chǔ)、Hadoop原理、Hadoop實(shí)現(xiàn)及Hadoop應(yīng)用四大模塊,每一個(gè)模塊又包含子模塊。
各子模塊的具體教學(xué)內(nèi)容如下:
1) 大數(shù)據(jù)基礎(chǔ):大數(shù)據(jù)概念、云計(jì)算、云管理平臺(tái)。
2)Hadoop基礎(chǔ):Hadoop介紹、Hadoop基本概念、Hadoop應(yīng)用案例。
3)Hadoop生態(tài)系統(tǒng):HBase數(shù)據(jù)存儲(chǔ)、Flume、Sqoop數(shù)據(jù)集成、Spark數(shù)據(jù)處理、Hive、Pig和Impala數(shù)據(jù)分析、Oozie工作流引擎、Mahout機(jī)器學(xué)習(xí)。
4)Hadoop集群:HDFS文件系統(tǒng)、MapReduce模型、硬件要求、Hadoop集群搭建
5)MapReduce原理:MapReduce API接口、Driver、Mapper及Reducer編寫、Eclipse Hadoop開發(fā)。
6)Hadoop API使用:ToolRunner的使用、Combiner的使用、Setup和Cleanup的使用、HDFS程序訪問、Distributed cache的使用。
7)Hadoop數(shù)據(jù)處理:Partitioners和Reducers 、數(shù)據(jù)的輸入與輸出。
8)MapReduce應(yīng)用:大數(shù)據(jù)集的排序與查詢、二次排序、數(shù)據(jù)索引、字頻統(tǒng)計(jì)、數(shù)據(jù)集合并。
9)Hadoop工具使用:Sqoop示例RDBMS轉(zhuǎn)成HDFS、Flume示例實(shí)時(shí)數(shù)據(jù)管理(日志文件)、Oozie示例、Pig示例。
10)大數(shù)據(jù)案例應(yīng)用:HIVE案例應(yīng)用、HBase案例應(yīng)用。
4結(jié)束語
文中分析了大數(shù)據(jù)背景下的應(yīng)用技術(shù),對(duì)人才培養(yǎng)提出了新的要求。另外,基于Hadoop架構(gòu),并詳細(xì)說明了Hadoop課程實(shí)施的具體方案,完善了計(jì)算機(jī)相關(guān)專業(yè)的教學(xué)體系,有效促進(jìn)了課程改革和調(diào)整。
參考文獻(xiàn):
[1]陳吉榮,樂嘉錦. 基于Hadoop生態(tài)系統(tǒng)的大數(shù)據(jù)解決方案綜述[J].計(jì)算機(jī)工程與科學(xué),2013,35(10).
[2] 陳 璽. Hadoop生態(tài)體系安全框架綜述[J].信息安全研究,2016,2(8).
[3]鮑愛華,陳衛(wèi)衛(wèi).云計(jì)算課程內(nèi)容體系的建設(shè)與實(shí)踐[J].計(jì)算機(jī)工程與科學(xué),2014,36(A2).
[4]許娟,袁家斌.云計(jì)算課程教學(xué)內(nèi)容和教學(xué)方法的選擇[J].現(xiàn)代計(jì)算機(jī),2014(6).
[5]楊旻.Hadoop云計(jì)算平臺(tái)在高校實(shí)驗(yàn)室教學(xué)環(huán)境中的實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2011(9).
[6]徐苑苑.云計(jì)算環(huán)境下的開放課程應(yīng)用研究[D].2013,10.