?

基于服務器集群的大數據實訓平臺建設

2023-11-13 05:57施炎峰
實驗科學與技術 2023年4期
關鍵詞:集群實訓資源

韓 磊,施 展,施炎峰

(南京工程學院 計算機工程學院,南京 211167)

數據科學與大數據技術專業(以下簡稱大數據專業)是“新工科”背景下的新興專業[1],也是教育部落實《促進大數據發展行動綱要》而批準的計算機類特設專業[2]。

中國大數據技術與應用聯盟的統計數據顯示,我國大數據產業規模逐年提高,大數據人才缺口巨大,大數據專業的設立順應了大數據人才需求[3]。從招聘網站公開的崗位看,大數據采集工程師、實施運維工程師、大數據應用開發工程師、數據分析工程師、機器學習算法工程師、數據科學家等崗位需求量大。不同崗位的知識、能力、素質要求差異較大,但強化實踐是這些崗位的共同特征。強化實踐教學離不開優質的實驗平臺,作為新興專業,大數據專業的實訓平臺建設還不完善,在平臺系統結構、實踐教學設計等方面亟待深入研究。

1 大數據專業實踐教學體系分析

1.1 大數據專業課程體系逐步完善

我國最早設立大數據專業的3 所高校于2016 年開始招生,隨后各高校前赴后繼,設置大數據專業的本科院校多達600 余所。這些高校在專業定位、人才培養方面各具特色,形成了百花齊放的局面[4]。在人才培養方案和課程設置方面,積累了寶貴經驗,形成的課程體系主要包括計算機科學、數據科學、大數據技術3 類課程[5]。

1)計算機科學類課程包括Python 語言、Java語言、數據結構、計算機組成原理、操作系統、計算機網絡等。這類課程服務于學生了解計算機的發展歷史、計算機的軟硬件構成及運行環境、編程技術等。

2)數據科學類課程主要包括統計學、離散數學、數值計算方法、數據科學導論、數據庫原理、大數據存儲與管理、并行與分布式計算、數據可視理論等。這類課程培養學生在大數據數理基礎、數據存儲原理、并行計算和可視化方法等方面的能力。

3)大數據技術類課程有數據采集與預處理、機器學習、深度學習、R 語言數據分析、數據挖掘、行業大數據分析等。此類課程通常以項目化教學的方式,培養學生分析、挖掘大數據的技術能力。

1.2 大數據實踐教學有待優化

盡管各高校已經設計了相對完善的人才培養方案和課程體系,但總體來看,實踐教學仍是各高校大數據專業的短板所在[6],具體表現在如下3 個方面。

1)實訓平臺算力不足

各高校對新專業建設都會投入一些專項經費,用于實驗室建設??紤]到專業平衡,經費劃撥參照傳統專業實驗室建設進行,但是大數據存儲與計算資源價格昂貴,劃撥的實驗建設經費不足以購買充足的服務器,導致實訓平臺算力不足,學生對集群的體驗感差。有的學校只購置了3~4 臺服務器,無法同時滿足兩個行政班同時開展實驗,只能分批進行實驗。

2)實驗項目資源匱乏

因為建設時間短,大數據專業在實踐教學方面缺少具有廣泛共識的經典案例。各個學校根據自身實驗平臺和師資力量情況,開發不同的課程資源。在實踐教學過程中,實驗項目設計完全依賴于教師的知識背景、實踐經驗。不同課程實驗之間的銜接也有待進一步優化。比如,圍繞同一數據集的清洗、存儲、分析,進而設計對應的實驗,這些工作還未進行系統化探索。

3)統一平臺管理體系缺失

目前,大數據實驗室通常缺乏統一的虛擬化資源分配與管理平臺,僅使用服務器操作系統自身的賬戶管理功能分配給學生使用,增加了教師的日常管理負擔。另外,實驗室資源使用相對混亂,特別是服務器的使用、維護、保養,達不到規定的要求,難以做到持續優化。

2 大數據實訓平臺總體設計

針對大數據專業在實踐教學中的上述痛點,本節以構建大數據實訓平臺為突破口,深入分析平臺功能需求,進而提出完善的設計方案。

2.1 大數據實訓平臺功能需求

大數據實訓平臺主要面向管理員、教師和學生三類用戶,提供教學管理、課程資源池服務和虛擬化服務。對于教學管理功能,學生角色僅使用其中的作業管理功能。從以下3 個方面介紹大數據實訓平臺的功能需求。

2.1.1 課程教學管理功能

大數據實訓平臺面向于大數據專業的日常教學,平臺應具備課程教學中必要的管理功能。常見的管理功能包括:學生管理、課程資源建設、信息發布、作業提交與批改、成績綜合評定等,如圖1 所示。

圖1 課程教學管理模塊分析

學生管理模塊用于教師對參與實驗或實訓的學生進行系統管理。如學生名單的批量導入與導出、格式定制,學生基本信息的增刪改查,實驗前的分班分組,實驗資源的權限分配等。課程資源建設模塊除了平臺預置一些資源外,應提供教師自建課程資源的接口,方便教師將教學視頻、演示文稿資源傳入系統;同時應支持教師設計實驗資源,如實驗指導教程、實驗參考代碼、實驗數據等。作業管理模塊應根據題型特點,靈活支持教師錄入、導入、發布等,至少應具有題庫設計、組卷發布、計時、題型、統計等功能。成績評定模塊應體現過程評價,尤其是實驗的參與度、資源訪問情況、作業完成情況等。

另外,教學管理各模塊中界面構成方面有一些共同的需求,如對文件的顯示與處理等[7]。具體需求如下。

1)支持的文件類型及操作

文本文件內容查看、在線編輯保存;自動生成圖片文件縮略圖,支持圖片幻燈片播放;支持mp3、wav、wma、m4a、webma 等常見音頻文件的在線播放;支持flv、f4v、mp4、mkv、wmv、rmvb 等視頻文件的在線播放;支持pdf、word、excel、ppt 等辦公類文檔;支持zip、rar、tar、gzip 等壓縮文件。

2)文檔操作

支持類似Windows 的鍵盤快捷功能,選中文件后,提供打開、復制、剪切、刪除、屬性、壓縮、重命名等功能。

2.1.2 課程資源池功能

課程資源是大數據實訓平臺的重要組成部分,起到支撐大數據專業實踐教學的作用。日常教學中的課內實驗和綜合實踐階段的教學案例共同構成了實踐教學資源,不同高校的課程體系特色不同,用以支撐課程體系的實踐教學環節也不盡相同。因此,實踐教學設計要求能夠彰顯教學特色,方便教師更靈活地進行教學設計。本文設計的大數據實訓平臺對實踐教學資源的管理將以實驗項目或實訓項目作為優化組合的單位,邏輯上以項目庫的形式存儲于系統中,提供查詢編輯基本接口,教師根據課程需要組合優化實驗項目,如圖2 所示。同時,允許教師查詢所授班級前導課程的實踐項目,鼓勵遞進式項目開發。

圖2 課程教學管理模塊分析

大數據實訓平臺提供的實踐課程資源應具備如下4 個方面的特點。

1)項目內容圍繞大數據核心技術體系

一方面,隨著大數據技術迅速發展,技術生態系統越發龐大,各類組件層出不窮[8]。從成本角度看,針對每個組件設計實驗項目,不僅可能超出高校實驗室項目建設預算,而且也偏離教學實踐的實際需求。另一方面,只有抓住大數據的核心技術體系,才能服務好多類高校的人才培養需求。不同特色的高校在人才培養方面都高度重視大數據核心技術體系,抓住核心技術體系,就抓住了實踐教學根本。因此,項目的內容應緊緊圍繞大數據核心技術體系展開。

2)項目設計服務遞進式項目教學

遞進式項目化實踐教學是教師與學生通過共同實施一個完整系列的實訓項目提高學生實踐操作能力的教學活動[9]。大數據專業的遞進式項目化教學能夠體現課程的遞進式和項目的遞進式,大數據實訓平臺在項目設計時可以圍繞數據采集、清洗、存儲、處理、可視化這條主線,設計項目之間的遞進關系,如針對同樣的數據集展開或面向同樣的業務領域展開,提升教學效果。

3)項目運行考慮并發性特征

實驗或實訓項目設計與其他工程項目不同,多個班級或多個小組同時進行實驗是常見的組織管理形式,所以項目設計應充分考慮運行時的并發性,結合平臺資源特點,設計合理的算法和數據存儲模式,必要時給出特殊的實驗管理方式建議。

4)項目維護堅持高效實用準則

大數據實驗和實訓是有組織的學生實踐,應考慮數據采集、清洗和加工對數據資源的改變,也應考慮教師結合本校特點對現有實訓項目的改進。前者的改變應在實驗之后快速的恢復或清除;后者的改變是對項目庫的豐富,應加以保留。凡此種種,都是實訓平臺維護應解決的重要問題,應堅持高效實用的準則,設計必要的維護操作界面,提高系統的易用性和可持續性。

2.1.3 虛擬化平臺部署功能

除了提供課程資源外,大數據實訓平臺還要服務于大學生創新創業,因此,平臺應具有一定的開放資源,包括計算、存儲和網絡等。

首先,對于開放資源的管理應采用Web 化的統一界面,提供必要的身份認證和角色權限功能,不同角色具有不同的資源使用權限。

其次,至少支持兩個層級的資源定制云服務[10],包括IAAS 和PAAS。IAAS 層級要提供CPU、GPU、存儲、網絡等虛擬硬件資源,學生根據項目所需,自己安裝和管理操作系統、數據庫、中間件、應用軟件和數據資源;PAAS 層級主要搭建機器學習領域必要的訓練平臺,可以通過半PAAS 和全PAAS 兩種方式進行設計。半PAAS平臺軟件層中只安裝了操作系統;全平臺PAAS安裝了應用軟件依賴的全部平臺軟件,針對應用軟件來做資源配額和權限控制。

2.2 大數據實訓平臺建設方案

2.2.1 架構設計

大數據實訓平臺是面向實踐教學的系統,教學平臺對高性能的要求低于對全面性的追求。根據上節的系統需求分析,大數據教學既有特殊類別的數據采集,也有面向流數據和批數據的智能分析。因此,本文使用成熟穩定的Lamda 架構設計大數據實訓平臺。

Lamda 架構將批處理作業和實時流處理作業分離,各自獨立運行[11]。本文的Lamda 架構如圖3所示,主要包括Batch、Serving、Speed 共3 個層次。Batch 層主要負責所有的批處理操作,同時也維護數據處理依賴的主數據,為Serving 層提供“預計算”。而Serving 層是對Batch 層的增強,響應數據查詢請求,既可以使用關系數據庫傳統技術,也可以采用OLAP 產品。Speed 層處理流式數據,能以實時或近似實時的方式處理大量的數據,支撐的技術主要有Storm、Spark Streaming等,也是實踐教學的技術重點。

圖3 Lamda 架構

2.2.2 系統部署

常規實踐教學以原有教學資源+教師創新教學設計的方式進行,遵循既定教學大綱,所需的平臺資源固定,涉及技術基本屬于Hadoop 生態鏈[12];而大學生創新實踐活動是教師指導下的學生自主創新過程,沒有既定方案,不同創新小組所需的算力、存儲、網絡、數據等各不相同,要求平臺具有資源定制能力。

考慮到大數據實訓平臺要支撐常規實踐教學和大學生創新實踐兩類應用,本文提出將大數據實訓平臺部署為Hadoop 和私有云兩個功能集群。Hadoop 集群主要負責實踐課程常規教學,私有云集群支持大學生創新實踐。另外,為節約實驗室建設成本,兩個集群的物理部署存在交集,相關組件分布于10 臺服務器上,如圖4 所示。

圖4 系統部署

Hadoop 集群中,1 臺服務器作為管理節點,管理文件系統的命名空間,維護文件系統樹及整棵樹上所有文件和目錄;1 臺服務器作為備用管理節點和工具節點,主要運行其他非管理進程,比如Cloudera Manager 和Hive Metastore 等。2 臺服務器作為集群的邊緣節點,用于集群中啟動作業的客戶端;4 臺服務器用于部署數據節點,主要用于運行DataNode 以及分布式進程,比如ImpalaD。私有云集群中,控制節點、存儲節點和計算節點各占2 臺服務器,其中,控制節點的2 臺服務器與Hadoop 集群中的邊緣節點共用,存儲節點的2 臺服務器與Hadoop 集群中的部分數據節點共用。

2.2.3 軟件層次

在集群物理部署基礎上,安裝相關系統組件,軟件層次如圖5 所示,大數據專業的核心課程實驗環節依托這些組件的應用展開,內容貫穿了大數據采集及處理全過程[13]。

圖5 集群軟件層次

1)支撐數據抽取層的課程主要是數據采集技術,該課程是大數據專業的核心課程。課程教學要求平臺支持常見的數據采集方法,如日志采集、分布式消息訂閱分發、ETL、網絡數據采集等。配備Flume、Kafka、ETL 等核心組件。

2)數據層組件是大數據存儲的技術核心,相關課程主要有分布式文件系統、NewSQL 和NoSQL數據庫等。核心組件包括MongoDB、GraphDB、MySQL cluster、HBase、Hive、Pig 等。

3)計算層是大數據處理的關鍵,與之相關的課程有大數據并行計算、統計過程與數據挖掘、大數據機器學習等。該層的主要技術組件包括:YARN、MapReduce、Spark、Mahout 等。

4)應用層是大數據平臺高層業務抽象,包含了提供給用戶的接口。在大數據實訓平臺中,主要是實驗和實訓應用系統。

3 基于實訓平臺的遞進式項目化教學實踐

按照本文思路建設的大數據實訓平臺,能夠服務教師開展遞進式的項目化教學。下面以音視頻推薦系統為例,闡述遞進式實踐教學設計。

3.1 教學設計思路

本文將大數據實踐教學分為3 個進階階段,如圖6 所示。

圖6 遞進式實踐教學體系

1)課內實驗階段,針對課程涉及的核心技術,設計相關實驗,起到強化知識點的作用。本階段的主要課程有大數據采集技術、數據清洗技術、大數據存儲技術、統計過程與數據挖掘、大數據安全和數據可視化等。

2)課程實訓階段,這是在課內實驗基礎上的進階,在課程體系的關鍵節點上,設置若干課程實訓,每個實訓歷時1~2 周,綜合運用課程實驗的相關技術點,并提升拔高。大數據實踐教學體系中,實訓階段的項目有大數據采集實訓、分布式數據庫實訓、大數據挖掘實訓等。

3)創新項目階段,面向一定的應用場景,綜合運用系列課程的知識點和關鍵技術,解決實際問題。該階段的創新項目圍繞2 個方向展開:一是圍繞Hadoop 集群的綜合實踐;二是大數據驅動下的機器學習綜合實踐。

在實驗設計時,本文采用逆向思維,對音視頻推薦系統進行分解,分配到各個實踐階段,進而嵌入到核心課程。學生在課程學習中,通過解決實驗級別的小問題,逐步構建項目級應用,不斷提升學習興趣。

3.2 實踐項目設計

推薦系統是信息過載時代應運而生的智能化應用[14],信息過載源于互聯網、社會化媒體、物聯網、云計算的飛速發展和深度融合,而這些技術又是大數據形成與發展的關鍵支撐[15-16]。因此,推薦系統是大數據專業理想的教學案例之一。

本文重點針對音視頻的推薦系統,其中,音頻信息是大數據實訓系統的基礎數據,存儲于本地集群,用于音頻數據標記、清洗、音頻處理,推薦等應用;系統不存儲原視頻信息,只存儲爬取來的影評數據,用于推薦算法的研究。作為服務于教學的案例項目,系統不僅能夠根據歷史記錄,合理推薦音視頻信息,還將設計過程分解到課程實驗中實施。

3.3 系列實驗組織

圍繞音視頻推薦系統涉及的數據處理流程,本文將其分解到數據采集、數據存儲、數據分析和數據可視化4 個階段。

在數據采集課程中,可以安排兩個針對音視頻推薦系統的實驗如圖7 所示,分別是影評數據網絡爬蟲采集實驗和Flume 日志數據采集實驗。前者是獲取豆瓣電影、貓眼電影、Box office mojo等影評信息,后者收集本地音頻訪問日志?;谶@些數據,通過構建Hadoop 集群,清洗爬蟲數據,并進行分布式存儲。在此過程中,設置Hadoop集群搭建、影評數據清洗、音頻數據分布式存儲、影評數據存儲轉換等實驗。分布式存儲音視頻信息后,可以進行多種智能分析算法,比如Kmeans 聚類分析、協同過濾推薦算法、Spark 隨機森林算法、影評語義分析等。然后,將大數據分析結果通過不同方式進行可視化展現,如柱狀圖-條形圖-散點圖實驗、扇形圖-箱型圖-面積圖實驗、Top10 流行電影展示實驗等,實驗清單如表1所示。通過遞進式項目教學的開展,讓學生對知識體系的認識更加清晰,學習興趣更加濃厚。

表1 遞進式項目教學設計

圖7 實踐教學系統界面

4 結束語

大數據專業作為“新工科”背景下的新興專業,實踐教學尚未形成標準化體系,實驗室建設存在平臺算力不足、實驗項目匱乏、管理工具缺失等問題。本文從師生角度分析大數據實訓平臺功能需求,融合Hadoop 集群和云計算兩個功能集群,設計了一種資源集約、功能全面的大數據實訓平臺架構,圍繞數據采集、清洗、存儲、分析和可視化,開展了從課內實驗到課程實訓,再到創新項目的遞進式項目教學實踐,取得良好實效。所提出的“2+2+2”建設方案及教學實踐是對大數據專業建設的有益探索,將為同類專業建設提供借鑒。

猜你喜歡
集群實訓資源
基礎教育資源展示
一樣的資源,不一樣的收獲
基于CDIO理念的數控實訓教學改革與實踐
海上小型無人機集群的反制裝備需求與應對之策研究
資源回收
一種無人機集群發射回收裝置的控制系統設計
Python與Spark集群在收費數據分析中的應用
電工電子實訓教學改革與創新
資源再生 歡迎訂閱
勤快又呆萌的集群機器人
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合