基于DIND的大数据实验平台探索与应用研究

时间:2023-09-09 14:25:04 来源:网友投稿

胡玉雪, 徐勋光, 王海燕, 沙 灜,b

(华中农业大学a.信息学院;
b.湖北省农业大数据工程技术研究中心,武汉 430070)

为适应大数据技术的发展和应用、满足大数据产业对人才的需求,加快人才培养、鼓励高效优化大数据学科专业设置、加大相关专业建设力度是必要保障措施[1]。教育部于2015 ~2020 年分6 批(教高函[2016]2 号、教高函[2017]2 号、教高函[2018]4 号、教高函[2019]7 号、教高函[2020]2 号、教高函[2021]1 号)共审批同意730 所高校开设数据科学与大数据技术本科专业(以下简称大数据专业)。

在大数据专业教学中,实验教学是系统培养学生专业技术能力的重要手段,实验教学质量的高低很大程度上取决于实验平台的建设水平。实践教学中,大数据的实验环境一般要求运行在Linux 上,主流的大数据工具——Hadoop生态集群采用分布式架构,配置复杂、操作门槛高[2],学生很难自主搭建Hadoop 集群,也难以接触真正的分布式集群。

针对上述问题,充分利用实验室已有设备和平台资源,综合考虑大数据实验教学目标、行业技能要求、建设成本等因素,提出使用DIND(Docker in Docker,容器嵌套技术)为大数据实验教学提供了全流程的实验平台,同时提供交互式的可视化操作界面,教师可根据教学需要设计实验文档,满足实验教学需求,进一步提高学生的课程学习效果。

国内高校在大数据专业建设、实验教学体系、实验教学方案、特别是实验教学平台建设上做了很多研究和探索[3-11],这些实验平台的建设方式主要分为3 种:

(1)使用Linux虚拟机搭建Hadoop 集群[3-4]。文献[3]中提出在Linux 虚拟机下安装Hadoop +Spark集群来构建大数据实验教学环境,并详细描述了Hadoop和Spark 的安装和配置。文献[4]中利用Linux虚拟机构建Hadoop 单机大数据实验平台,使用平台进行词频统计实验。

(2)使用高性能硬件设备自建大数据实验平台[5-7]。文献[5]中设计实现了在线大数据实验平台,平台分为“Web交互式开发环境”和“大数据存储计算集群”两个部分,学生通过Web 页面可随时调用API进大数据集群实验。文献[6]中采用B/S 架构建设基于Hadoop和Spark 的计算框架的在线大数据实验平台,用户通过浏览器进行访问提交任务。文献[7]中以校企合作方式设计大数据课程实验平台、项目案例,学生可以通过远程方式连接实验平台操作实验。

(3)使用Docker 容器技术构建大数据实验平台[8-11]。文献[8]中采用OpenStack 和Docker 混合架构建立大数据云实验室,师生在进行大数据实验时,直接使用打包好的镜像文件即可。文献[9]中利用Docker容器技术在单机上构建Hadoop 集群,运行封装有Hadoop 的Docker 容器即可快速部署Hadoop 集群,进行实验操作。文献[10]中采用B/S 架构,在Linux系统上安装Docker,用户通过Web 访问、加载镜像、启动容器、启动大数据实验的应用即可进行大数据实验。文献[11]中采用Docker、Kubernetes、Rancher、JumpServer等开源组件快速部署构建大数据实验平台,用户利用浏览器登录堡垒机访问大数据集群进行实验。

可以看出,各高校结合实验室建设情况、综合考虑各方面因素,在大数据实验平台的搭建形式、方法上不尽相同,都能较好地满足各自实验教学的需求,下面对3 种实验平台搭建方式的特点进行分析[12]。

(1)使用Linux 虚拟机搭建Hadoop 集群。优势是充分利用已有实验室资源、建设成本低;
缺点是分配到每个学生的Linux资源有限,配置复杂,机房复用性差,学生不能随时随地进行实验。

(2)使用高性能硬件设备自建大数据实验平台。基于云环境搭建Hadoop集群,或通过校企合作共建大数据实验平台,优势实验平台和实际生产环境高度一致,集成化Web 页面可更好适应环境需求,能随时随地在云端调用API进行大数据实验;
缺点成本高,学生使用不灵活,无法自主搭建集群、修改集群配置。

(3)使用Docker容器技术构建大数据实验平台。优势是集群部署快、资源利用率高、投入低,基于云平台,方便动态扩容,可以灵活定制不同实验环境;
缺点是学生使用不够灵活,无法自主搭建集群、修改集群配置。

针对上述情况,综合考虑课程学习目标、行业技能要求、建设成本等因素,本文基于Web 架构、借助Docker容器技术、noVNC 技术、Linux 脚本技术,利用Docker容器嵌套技术来构建大数据实验平台。

从平台建设成本、平台功能、用户操作易用性等多维度对已有平台做归纳总结,如表1 所示。本文设计的大数据实验平台,采用B/S 架构,通过浏览器实现大数据的交互学习;
使用Docker 容器技术和DIND(Docker in Docker,容器嵌套技术),提供资源隔离的运行环境,秒级启动速度,资源占用少,同时保障了实验过程的可回滚、提供了自主搭建环境、一键集成环境,可灵活配置大数据集群。

表1 现有大数据实验平台与本实验平台综合比较

国内高校在大数据实验平台建设还处于探索阶段,兼顾好人才培养目标、实验教学资源、资金投入等要求,仍然是平台建设的重点。下面主要从建设思路、平台架构、平台实现、性能分析4 个部分进行介绍。

2.1 大数据实验平台建设思路

大数据实验平台是培养学生工程实践创新能力、实现“产”“教”融合的重要保障。平台建设必须和教学目标一致,满足人才培养方案;
充分利用资源,借鉴现有实验室的既有成果;
注重教学资源建设,提升建设和应用水平,最大限度服务教学和科研。

建设大数据实验平台需要满足以下要求:①建设方案要融合大数据专业特点,从实验、实训、科研、竞赛等层次对学生进行训练和考核。②能够从面向大数据分析、运维、开发、可视化等行业需求建设基于“云”模式的大数据实验平台。③充分利用已有实验室软硬件资源。④采用B/S 架构建设实验平台,用户可通过浏览器进行访问,且支持内网与外网同时访问。

建设大数据实验平台应达到如下目标[13]:①配备相应大数据相关的虚拟平台及环境设备,为师生提供便捷、丰富的虚拟实验环境,确保大数据教学、科研以及竞赛正常进行。②充分融合教学、科研需求,支撑大数据采集、预处理、存储、分析及挖掘、可视化等关键技术研究,确保大数据实验资源完善,提升大数据方向发展能力和自主创新能力。③与企业项目人才需求进行衔接,确保学生在大数据项目实战层面快速提升,使学生充分了解就业岗位的职业能力需求,为未来就业奠定良好的基础。④充分利用已有实验室资源,降低投入成本。

2.2 大数据实验平台架构

基于上述建设思路,在保障大数据课程、科研、竞赛正常进行情况下,充分利用已有实验资源;
结合高校大数据人才培养需求,让学生通过Web方式访问实验平台,实现随时随地便捷学习大数据技术、操作大数据平台;
结合行业技能要求,学生除学会使用API调用大数据集群服务,更应学会自主搭建大数据集群环境、灵活修改集群配置,真正从底层掌握大数据技术。

大数据实验平台总体架构如图1 所示,主要用到Docker容器嵌套技术。整体架构一共分为3 层:

图1 大数据实验平台总体架构

(1)底层资源。底层资源是大数据实验的基础,可以是裸金属资源或者虚拟化资源,根据课程、实训的人数、项目大小来弹性分配资源,保障资源的最大化利用,底层资源主要包括CPU、GPU 等计算、硬盘存储、网络交换机、数据库等资源。通过ssh 方式纳管底层资源,给实验平台提供计算、存储、网络等资源池。

(2)大数据资源服务层。主要用到Docker 容器嵌套技术,分为2 个Docker 层,分别是基础层Docker和应用层Docker。①基础层Docker提供大数据基础实验环境,对过程、监控、实验快照、实验镜像,容器调度、容器仓库等进行管理。给大数据Docker应用层提供计算资源(宿主机),将实验镜像部署进宿主机,提供大数据实验环境。②应用层Docker提供大数据计算集群,提供了自主搭建和一键部署两种方式。自主搭建时,学生根据实验指导,安装、配置大数据集群,可个性化定制集群。一键部署集群,提供了Hadoop、HBase、Spark 等大数据生态计算集群,满足实验、实训、科研需求。

(3)业务层。提供大数据实验教学门户,包括课程管理、实验实训管理、计算资源管理、系统管理等。

2.3 大数据实验平台实现

基于上述平台总体架构,平台分为底层资源、大数据资源服务层、业务层。

(1)底层资源。底层资源主要分为裸金属和虚拟资源。资源的虚拟化使用了华为FusionCloud产品,主要包括FusionSphere 组件、ManageOne 云计算管理组件和基础云服务组件[14]。

(2)大数据资源服务层。主要使用Docker 容器嵌套技术。

外层Docker容器是由CourseGrading 程序设计实践教学与竞赛平台[15]提供基于Web 架构的基础Docker层和交互式实验桌面环境。通过ssh方式纳管底层资源来给外层Docker容器提供资源(宿主机)。

内层Docker容器作为大数据节点,提供大数据计算集群环境。集群环境分为自主搭建和一键部署两种方式,学生可根据需求选择部署方式,自主搭建可灵活配置集群参数,按需安装。对无须关心底层搭建细节的用户,可以一键部署集成环境,主要使用到Linux 脚本技术来一键完成,脚本执行流程如图2 所示。

图2 一键部署Hadoop集群脚本流程

(3)业务层。业务层提供门户,采用noVNC 技术、使用B/S架构来访问和控制Docker 容器桌面,用户可以随时随地访问大数据实验桌面。

2.4 大数据实验平台性能分析

基于上述大数据实验平台的建设思路、架构和实现,对平台进行性能分析。

(1)贴合培养方案、教学内容、行业技能要求。基于Docker 容器嵌套技术的大数据实验平台为用户提供了基于Web架构的大数据实验环境,外层Docker容器给学生提供了交互式云桌面环境,内层Docker容器给学生提供大数据技术集群,提供了自主搭建和一键部署两种方式。

在大数据实验教学中,以大数据架构与模式实验课程为例,前4 学时课程要求学生能独立、自主搭建大数据集群,了解底层运行框架、能根据需求修改相关配置。在熟练搭建大数据集群后,可以进行后续Spark计算等高阶学习。实验平台可提供自主搭建和一键部署两种方式,让学生可以很好完成教学内容,从底层搭建到上层应用,很好地匹配大数据运维、分析、开发、大数据处理等行业技能要求。

(2)快速启动和部署、随时随地高效使用。基于LXC(Linux containers)和AUFS(Advanced multilayered Unification Filesystem)技术,Docker容器秒级启动速度比虚拟机有了数量级提高[16]。使用一键部署集群,用户无须关心配置细节,一键加载镜像文件、批量启动服务,实现集群的快速部署和启动。

教师和学生通过Web 页面可随时随地访问Docker容器桌面使用大数据计算集群。Docker 容器通过Namespace进行资源隔离,每个用户相互之间不干扰。实验过程中,对实验快照、镜像的管理可进行回滚,反复操作、实践,让学生学习更牢靠、记忆更深刻。

(3)资源利用率高、投入成本低。使用Docker容器技术搭建大数据集群,可降低建设成本:①平台充分利用已有计算、网络、存储等资源,通过ssh 方式纳管资源,可弹性增减资源,提升资源利用率。镜像在实例化为容器的时候才会使用宿主机的计算资源,利用这个特性,可以在一台宿主机上部署多个课程镜像,实现资源共享。②容器仅仅是运行在宿主机上被隔离的单个进程,仅消耗应用容器消耗的资源。和虚拟机比较,容器更加轻量级、启动速度更快、文件体积更小。

3.1 实验教学内容

大数据技术需要众多课程知识的支撑,包括Linux系统的使用、Hadoop 的安装使用、非传统数据库HBase、MapReduce编程模型、数据仓库Hive、Spark、机器学习、数据采集工具Flume、Sqoop 等[12,17]。下面以本院大数据架构与模式课程为例进行介绍。

课程开始前,学生已完成Linux 系统、Python 语言、Java 语言、机器学习等课程学习,课程内容主要集中在Hadoop、HDFS、HBase、MapReduce、Spark 等学习上。以实验教学为核心,大数据架构与模式课程安排32 学时实验课程,以Hadoop、Spark 大数据计算框架为主,具体实验内容安排如表2 所示。

表2 大数据架构与模式实验教学内容

3.2 实验教学效果

在大数据实验平台,对学生课程、实验、实训等学习进展进行监控,教师可以很好地了解学生对知识的掌握程度。选择某一时刻学生在线实验完成情况如图3 所示,由图看出周末平台使用率较高,学生空闲时间也在进行实验。

图3 学生在线实验完成情况

使用大数据实验平台后,从学生课程报告、实验平台数据统计得到学生实验情况如表3 所示,学生表示使用浏览器可以随时随地进行实验,特别是遇到不熟练的环节,可以反复实验、有了实验镜像、快照保存后可以反复“折腾”,直到熟练掌握。平台自上线后共计服务300 余师生,有力支撑了大数据实验教学,师生反馈颇好。

表3 大数据实验教学效果统计表

面对社会各界对大数据人才的迫切需求,并针对大数据实验课程教学特点,利用Docker容器嵌套技术实现了Hadoop、Spark 等集群的搭建,提供了经济、轻量、便捷的大数据开发环境。灵活的搭建方式、随时随地便捷访问、可反复操作的实验环境,使得学生能真正掌握大数据专业技能,达到提高教学效果、培养学生工程实践能力的目标。

猜你喜欢容器集群架构基于FPGA的RNN硬件加速架构成都信息工程大学学报(2022年4期)2022-11-18容器倒置后压力压强如何变中学生数理化·八年级物理人教版(2022年4期)2022-04-26功能架构在电子电气架构开发中的应用和实践汽车工程(2021年12期)2021-03-08难以置信的事情读者·校园版(2019年24期)2019-12-10海上小型无人机集群的反制装备需求与应对之策研究军事运筹与系统工程(2019年4期)2019-09-11一种无人机集群发射回收装置的控制系统设计电子制作(2018年11期)2018-08-04WebGIS架构下的地理信息系统构建研究计算机测量与控制(2017年6期)2017-07-01Python与Spark集群在收费数据分析中的应用中国交通信息化(2017年3期)2017-06-08勤快又呆萌的集群机器人知识就是力量(2017年2期)2017-01-21取米小朋友·聪明学堂(2015年8期)2015-11-30

推荐访问:探索 实验 数据