李俊丽,王 晓,马俊宏
(晋中学院信息技术与工程系,山西 晋中 030619)
Linux 源于UNIX,从一开始就继承了UNIX 的先进性,是一个真正的多任务、多用户、具有复杂内核的操作系统。由于Linux 操作系统是以大数据、云计算为代表的众多新技术的主要支持平台,学生只有熟悉Linux 系统及其编程,才能逐步实现在该平台上完成大数据、云计算以及人工智能等新兴技术的部署和开发[1,2]。在大数据时代,Linux 适用的领域更加广阔,促使教学上需要对课程内容及时地进行调整和增补,使得面向大数据技术的Linux 课程教学更注重应用性,避免出现教学与实际应用脱节的问题。
“Linux 操作系统”这门课程既是对专业基础课“操作系统”的巩固和深化,也是后面学习云计算与大数据技术、网络编程和机器学习等课程的基础。Linux课程传统教学内容主要是Linux 常用命令和Shell 编程,其教学目标是让学生掌握以下几点内容:①能够对Linux 操作系统有个整体认识,掌握VM 虚拟机的使用和Linux操作系统安装方法,熟练使用Linux常用命令进行文件管理、目录管理、进程管理和其他管理;②能够熟练掌握vi编辑器,编写Shell脚本,为Linux操作系统编程打下基础;③能够在Linux 操作系统中对用户账户和组群进行管理,能够实现Linux 网络配置基础和其他网络服务器的管理和配置。
面对大数据技术的发展,文献[3-5]中均描述了面向大数据技术的Linux 课程教学内容改革,由于Linux操作系统是以大数据、云计算为代表的众多新技术的主要支持平台,学生只有在熟悉Linux 系统及编程的前提下,才能逐步实现在该平台上完成大数据、云计算以及人工智能等新兴技术的部署和开发。因此,它是学习众多新技术的基础。在面向大数据技术的Linux 课程的实践环节中,学生需要灵活运用Linux 常用命令、shell 编程等基础知识对大数据开发平台进行操作,有一定的综合性。同时,由于面向大数据技术的Linux课程的教材较少,不同的Linux课程教材中实践教学内容有一定差异。因此,笔者对Linux 课程中涉及的实践教学内容进行了一些整理,选取了Linux课程核心的实践教学内容,作为Linux 操作系统课程的基本实践教学内容,包括安装与基本配置Linux 操作系统、熟练使用Linux 常用命令、管理Linux 用户和组、网络及服务配置等几个部分;对于包含大数据技术的课程内容进行评估[6-7],分析大数据的应用需求,明确其作为实践教学内容的价值,其主要包括大数据系统框架Hadoop、分布式文件系统HDFS、Spark 集群与应用等几个部分,面向大数据技术的Linux 操作系统实践教学内容结构如图1所示。
图1 Linux操作系统实践教学模块
Linux 是由多个相互关联又相对独立的功能模块构成的,课程实践性强,非常适合采取项目化实践教学方式。本设计以实践项目为主旨,注重实践技能的培养,让学生在“用中学,学中用”的过程中掌握最基础的Linux知识应用,逐渐深入Linux系统的管理和服务器的搭建和维护,以及面向大数据技术的Hadoop和Spark 开发平台的搭建。通过实践项目,让学生全面、深入、透彻地理解Linux操作系统的基础知识,并从基础知识出发,提高不同软件之间的整合力度及实践应用的能力。针对Linux 操作系统实践教学模块共设计了八个实践项目,其中包括基础知识的五个实践项目和大数据应用模块的三个实践项目,具体内容见表1。
表1 Linux操作系统实践项目
表1 中的实验涵盖了Linux 操作系统的主要实践教学内容,Shell 编程是Linux 操作系统实践教学的主要内容,也是学生学习的难点,这个部分可以结合课前视频教学预习、课堂教师实际操作、课后线上平台练习等多种实践教学方式,使学生更深入地理解Shell script,并消化实践项目中涉及的相关知识。大数据应用模块中包含Hadoop 集群基本操作、Shell 方式操作HDFS 分布式文件系统、Spark 基础与操作入门等比较新的内容,在实际的项目实践过程中可以根据教学目标、学时安排、学生反馈以及实验条件等因素进行适当调整。可以将部分实验内容采用课后作业的形式提交。
根据各实践项目的内容特点、教学目标,我们的实践教学平台具体采用在本地Windows 操作系统下,使用VMware Workstation 虚拟化软件搭建虚拟机的方式进行项目实践[8]。为了学生更好地实践不同Linux项目,设计并提供3种虚拟机供学生使用,如图2所示。
图2 虚拟机环境下Linux操作系统教学实践平台
⑴ Red Hat Enterprise Linux 虚拟机:仅安装Linux,即一台Linux 机器,供学生完成Linux 平台下的各种基础知识的实践项目,主要包括Linux 基本操作与应用。
⑵Hadoop(伪分布)-Ubuntu 虚拟机:为学生准备了一个Hadoop 伪分布式环境,即一台安装了Hadoop系统的Linux 机器,供学生理解Hadoop 概念,完成Hadoop Shell 基本操作和掌握HDFS Shell 主要操作命令,包括文件上传、下载、复制等操作。
⑶Spark 完全分布式集群环境:为学生准备了一个Spark 完全分布式环境,三个Linux 虚拟机构成三节点Spark 集群环境,其中SparkMaster-Ubuntu 虚拟机为主节点,SparkWorker01-Ubuntu 虚拟机和Spark-Worker02-Ubuntu 虚拟机为从节点。该集群环境可以帮助学生理解 Spark 与Hadoop 的关系,了解Spark Shell基本操作。由于该环境比较复杂,而虚拟机就是Windows 下的文件,学生可以将老师搭建好的环境复制到自己的笔记本电脑上运行。
在大数据和云计算时代,大数据技术不仅局限于学术研究领域,而且已经渗透到各行各业。在大数据时代,Linux 操作系统的应用范围更加广泛,更多的大规模数据处理基础设施,如Hadoop、Spark 等,部署并应用于基于Linux 的服务器集群,Linux 系统正变得越来越重要。因此,针对大数据技术的需求,有必要从传统教学中存在的弊端入手,进行相应的内容调整。将大数据技术融入到课程实践项目任务中,并在配套实验环境的建设方面做出对策,使学生掌握Linux 系统与大数据相关的知识,提高学生的实践能力,为进一步学习大数据相关技术奠定坚实的基础。教学实践中,在对信息技术与工程系网络工程专业开设的Linux 操作系统课程中使用了上述方法。实践结果表明,内容有吸引力且学生上手较快,学生学习积极性和主动性明显提高。