惲鴻峰
linux 作為一款開源的類UNIX操作系統,繼承了UNIX 以網絡為核心的設計思想,成為了一個安全性很高的多用戶、多任務的網絡操作系統,現在已經成為企業級應用推薦的操作系統平臺。隨著云時代的到來,大數據越來越受到人們的關注,對商品營銷、疫情防控、交通規劃、金融服務等領域產生著積極的影響,而大數據的應用工具,如Hadoop、Storm、Hive、Spark、NoSQL等,基本上都是運行在基于Linux 操作系統的集群服務器上[1]。因此,學習大數據技術,必須要理解Linux 的特點、熟練掌握Linux 環境的搭建和基本操作。
首先,我們搜集了目前出售的相關書籍、MOOC 平臺課程大綱、線上培訓機構和知名技術交流平臺的相關材料,整理了夏輝等主編的《Linux 系統與大數據應用》[2]、燕彩蓉等主編的《Linux 系統與大數據應用》[3]、北風網的培訓課程《大數據運維之必知必會- Linux 基礎教程》[4]等若干份教學材料,對課程的收錄內容進行統計、分析和匯總,找出普遍包含的教學內容,作為Linux 操作系統課程的基本教學內容;對于包含較少的課程內容進行評估,分析大數據的應用需求,明確其作為教學內容的價值。其次,走訪經驗比較豐富的大數據研發工程師、數據分析師,確定崗位必備的linux 系統知識,培養實際工作能力和就業競爭力,真正對接企業的人才需求。最后,考慮民辦應用型本科院校的人才培養定位,強化實踐、“做中學”為主要教學模式,綜合考慮課時安排和應用的因素,避免教學內容上“廣而全”,對知識點進行篩選、精簡、優化,根據邏輯關系對每一部分的知識點進行重組,進行知識模塊劃分,面向大數據技術的Linux 操作系統教學內容結構如圖1 所示。
Linux 系統基礎部分包括5 個模塊,采用項目引導式教學,在有限的時間內熟悉linux 系統的操作環境、基本理念、常用命令、管理方法以及基本開發方法。
(1)Linux 系統概述與安裝。包括Unix 的發展過程、Linux的發展歷史和發行版、開源軟件、Linux 應用領域、系統分區的基本知識、系統的安裝、Linux 系統下大數據平臺、Linux 的學習方法,使學生快速了解Linux 系統。通過瀏覽Linux 內核官網、介紹著名的信息統計網站www.netscaft.com 的使用等多種途徑引導學生了解Linux 的前沿發展及應用,激發學生對linux 的興趣。雖然可以安裝雙系統,但專業學習過程中多數情況下使用Windows 系統,安裝雙系統會造成資源的浪費,目前越來越多的企業采用CentOS 7,因此,學生采用虛擬機安裝CentOS 7,安裝好實驗環境是學好Linux 關鍵的第一步。
(2)文件、磁盤管理。學習Linux 文件系統的基礎知識,包括文件類別、文件系統目錄結構、基本特點;學習文件基本操作命令,包括如何切換目錄,如何新建、復制、移動、刪除、查看、查找文件,如何創建鏈接;互聯網上下載的Linux 安裝文件幾乎都是壓縮文件,因此必須學習Linux 系統下如何壓縮、解壓縮文件或目錄;如何分區、格式化和掛載外部存儲設備。Linux 中的命令及命令的參數選項難記易忘,應關注命令選項的通用性,通過實踐、案例掌握常用選項,避免關注過多的技術細節和選項參數配置,注重引導學生養成運用man、help 查看幫助信息的好習慣,靈活掌握和使用常用命令,為日后大數據的應用打下基礎。
(3)Linux 使用者管理。學習用戶和用戶組管理,包括用戶和用戶組之間的關系、配置文件和相關命令;學習文件權限管理,linux 的權限管理將文件管理和用戶管理相結合,屬于Linux的基本內容,使用者必須掌握;學習進程管理,大數據工程師需要查看進程相關信息以排查系統故障,檢測CPU、內存、網絡I/O等各種開銷,因此必須掌握進程管理的相關命令。進程管理、用戶和用戶組的管理通過與Windows 系統的類比,幫助學生理解。
(4)網絡及服務配置。目前Linux 在Internet 和局域網服務器領域所占的市場份額越來越大,因此Linux 網絡和服務器的配置成為了Linux 系統的重要部分,教學內容包括linux 網絡配置、SSH 服務、Web 和FTP 服務器配置。學生動手配置,實現虛擬機環境下Linux 訪問網絡。
(5)shell 編程及程序開發。shell 腳本在Linux 系統日常管理和大數據開發工作中是必不可少的,學習vim 編輯器的使用,通過案例介紹Shell 腳本程序設計的語法結構、控制語句變量定義及賦值、函數等,引導學生進入shell 腳本的世界;學習gcc 編譯器、gdb 調試工具以及make 工具的使用,通過實例了解C 程序的開發方法;學習如何在Linux 系統中安裝Java。由于目前常用的大數據平臺Hadoop 的運行是依賴于Java 的,后續要學習Hadoop 安裝與使用,考慮學時和后續課程安排,剔除了主要用于數據處理的python 的安裝學習,主要學習最新版JDK的下載、安裝和配置環境變量。
大數據基礎應用部分包括2 個模塊,目的是初步了解大數據理念、相關技術。
(1)大數據開發平臺。學習大數據的概念、特點與應用前景,介紹大數據的2 個主流平臺Hadoop 和Spark 的應用場景、安裝與配置。Hadoop 組件較多,應有所取舍,主要學習文件存儲系統HDFS、運算系統Map- Reduce 和資源調配系統Yarn三個核心組件。通過統計和檢索案例了解Hadoop 和Spark 的作用和基本使用方法。
(2)大數據分析工具。了解常用的分析工具,主要學習Hive數據倉庫工具的工作原理,嵌入式、獨立式安裝及配置,通過案例學習Hive 基本查詢分析方法。學生動手完成Hive 的獨立式安裝與應用,使用MySQL 數據庫作為數據元信息的存儲,這種場景在實際的應用中是最常見的。
通過前述Linux 操作系統教學內容的構建,本課程的具體課時安排如表1 所示,本課時安排適用于32 學時理論+16 學時實驗(共48 學時)的課程教學。

表1
大數據和云計算時代,Linux 系統越來越重要,Linux 操作系統的教學內容應針對大數據的需求做出調整,根據企業實際需要合理設計教學內容,使學生掌握和大數據相關的Linux 系統知識,為進一步學習大數據相關技術打下堅實的基礎。