基于Hadoop的学生自主学习资源平台构建

2023-01-13 11:40滕艳平张亚杰王海珍廉佐政黎明
高师理科学刊 2022年11期
关键词:结点集群分布式

滕艳平,张亚杰,王海珍,廉佐政,黎明

基于Hadoop的学生自主学习资源平台构建

滕艳平,张亚杰,王海珍,廉佐政,黎明

(齐齐哈尔大学 计算机与控制工程学院,黑龙江 齐齐哈尔 161006)

针对传统的教学资源组织形式、教学手段和教学内容已不能完全满足学生需求的问题,提出并设计了基于Hadoop的计算机类学生自主学习资源云平台.该系统采用B/S结构模式、MVC的编程模式,以MySql和Hbase作为系统数据库,提高资源查询、存储的速度及准确性.达到了管理员上传课程,学生按需自主学习的目的,并对学生学习行为数据进行分析,实现个性化教学、因材施教,提高学生的学习效率和教学质量.

Hadoop;自主学习资源平台;MVC;MySql+HBase

目前,随着互联网技术在教育领域的逐步应用,其教育资源的建设将成为网络辅助教学的重要手段,Hadoop云计算技术[1-2]的出现,为教学资源的共享提供了更好的方式.传统的教学资源平台在数据检索、存储以及数据分析等方面面临新的挑战,大量开放的教育资源改变了传统的教育教学模式,为学生自主学习提供了一个良好的开放的学习空间,从而将传统以教师为主体的教学方式转变为以学生为主体的新型网络教育方式.云技术将学习资源碎片化[3],形成一个综合共享的资源池,提高资源存储容量、查询速度和高并发读写性能.基于Hadoop学生自主学习资源平台的构建,可为学习者在线学习提供丰富的多媒体资源、学习过程记录、课程进展信息、学生学习行为数据分析等,提高学生自主学习的能力,调动学生学习积极性,促进教师和学生相互交流.

1 Hadoop及相关技术介绍

Hadoop[4-5]是由Apache开发的一个开源的分布式处理大规模数据的框架,在Hadoop 技术集群中每台计算机都提供运算和存储,支持并行扩展,不完全依赖于某台高性能的服务器硬件支撑.Hadoop包含多项技术,其技术组件有HDFS(Hadoop Distributed File System),MapReduce,HBase,ZooKeeper等,已经形成完整的生态系统.因此,用户利用 Hadoop可以轻松地组合计算机资源,搭建自己所需的分布式计算平台,充分利用集群的计算、存储能力,最终完成海量数据的处理.Hadoop主要的框架组件[6]为:

(1)HDFS实现对数据的分布式存储,具有故障检测、流式读取数据以及高度容错性等特性.它采用Master/Slave架构,由控制节点Name Node和数据节点Data Node组成.

(2)MapReduce是编程计算框架模型,负责大规模数据的分布式处理和分析.MapReduce由2个部分组成,map任务和reduce 任务.

(3)HBase是一个分布式、按列存储的非结构化的数据库,使用HDFS作为底层存储,支持随机读取.HBase利用Hadoop HDFS作为其文件存储系统,运行MapReduce来处理其中的海量数据.

(4)ZooKeeper是分布式系统的可靠协调系统,用于构建分布式应用,完成配置维护、命名空间服务、分布式并发同步等任务.

2 自主学习资源平台总体设计

2.1 平台的总体框架

Hadoop技术框架具有分布式存储海量资源和并行计算的特性,本文设计目标是在Hadoop框架上实现教学资源共享,以达到学生可以高效自主学习的目的.系统采用了B/S(Browser/Server)架构的计算模式、MVC(Model View Controller)的编程模式[7],在对用户需求分析的基础上构建平台的总体框架.平台自底向上可以划分为4层,用户层位于最顶层,用户可以在客户端直接使用此平台,根据需求向平台发出请求,平台接收请求后对用户的需求及时进行处理和反馈;业务逻辑层为第2层,为用户层所提供的服务可通过系统的各功能模块来完成,主要用于用户层和存储层之间的沟通;数据存储层位于业务逻辑层的下层,负责教学平台海量数据的存储,Mysql用于结构化数据的存储,Hbase用于非结构化数据的存储,二者都位于HDFS文件系统中,同时在对学生学习行为数据分析时又用到Hadoop的其他组件,如Flume,Sqoop,Hive等;基础设施层位于整个平台的最底层,属于平台的硬件资源,主要用于管理和存储海量的教学资源数据.平台的总体框架见图1.

图1 平台的总体框架

2.2 系统功能模块的设计

本系统根据用户角色将功能分为学生端、管理员端,学生端主要包括注册登录模块、课程中心模块、章节测试模块、实践教学模块、课程的收藏模块、关注和评论模块.学生可以在前端进行课程的学习和资源下载、完成课程作业、查看课程的学习路线等功能.管理员可以进行课程的管理,包括课程上传、课程学习路线的发布、章节测试上传、回复学生的评论、学习行为数据的分析等.系统功能结构见图2.

图2 系统功能结构

3 Hadoop平台的搭建

在Hadoop平台搭建过程中,涉及Hadoop集群搭建、SSH无密钥连接、Hadoop的安装、HBase的配置、Zookeeper集群等相关内容.

3.1 虚拟机设置及模板机Hadoop101的创建

首先在宿主机上安装VMware Workstation[8],随后模拟出3个计算机节点.在此平台上采用1个Master结点(Hadoop102)和2个slave结点(Hadoop103,Hadoop104),要使各个结点之间可以互相通信,则要对虚拟机和各个结点进行相关配置.设置VMware Workstation的网络连接模式 VMnet8为桥接模式.

通过镜像文件CentOS-7-x86_64-DVD-2009安装Linux操作系统,随后进行模板虚拟机的安装和配置.IP地址:192.168.117.5、主机名称为Hadoop101、内存4 G、硬盘50 G,为了使各个结点之间通信更加方便,在系统中关闭防火墙,关闭防火墙的命令为 #chkconfig iptables off.

3.2 Hadoop集群搭建

利用模板机Hadoop101,克隆3台虚拟机:Hadoop102,Hadoop103,Hadoop104.虚拟机信息见表1.

表1 虚拟机详细信息

为了保证每台机器的主机名和IP地址可以正确解析,需要分别在Hadoop102,Hadoop103,Hadoop104的hosts文件中加上集群其他节点的IP地址和主机名的映射关系.

3.3 SSH无密钥连接

Hadoop集群之间通过SSH协议传输数据,从而可以安全地控制整个集群的开启和关闭,使用SSH协议可以解决计算机远程登录时产生的信息泄露问题.通过此协议可以实现3个结点之间无密登录.

(1)在Hadoop102结点中生成公钥和私钥,具体的命令为 ssh-keygen-t rsa,即可生成2个文件;

(2)id_rsa(私钥)、id_rsa.pub(公钥),将公钥拷贝到Hadoop103,Hadoop104结点上;

[h2@Hadoop102 .ssh]$ ssh-copy-id Hadoop102

[h2@Hadoop102 .ssh]$ ssh-copy-id Hadoop103

[h2@Hadoop102 .ssh]$ ssh-copy-id Hadoop104

(3)在Hadoop103,Hadoop104分别进行上述配置.

3.4 Hadoop的安装

(1)用XShell文件传输工具将Hadoop-3.1.3.tar.gz导入到opt目录下的software文件夹下面;

(2)进入到Hadoop安装包路径下,解压安装文件到/opt/module下面:

tar -zxvf Hadoop-3-1-3.tar.gz –C/ opt/module

(3)将Hadoop添加到环境变量,运行命令:

vim /etc/profile,在文件末尾添加内容

#HADOOP_HOME

export HADOOP_HOME=/opt/module/Hadoop-3.1.3

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

(4)测试Hadoop是否安装成功;

(5)scp(secure copy)安全拷贝.使用scp命令将Hadoop102中配置好的Hadoop文件夹拷贝到另外2个Hadoop103,Hadoop104中,实现数据的同步.

3.5 HBase的配置

HBase与Hadoop搭建集群步骤[9]类似,Zookeeper作为一个独立的服务,在功能上与Hbase分开,会使整个分布式系统在功能上更清晰,在设计中使HBASE_MANAGES_ZK=false关闭HBase集成的Zookeeper.单独构建Zookeeper集群,Hbase集群主要配置参数见表2,文件系统使用HDFS,在Hadoop集群的基础上完成了HBase集群的部署.

表2 Hbase主要配置参数

3.6 Zookeeper集群

Zookeeper是Hadoop的子项目,是解决在分布式环境下集群的协调同步问题,其部署过程与Hadoop以及Hbase类似,分布式模式下的配置见表3.

表3 zookeeper配置文件

4 自主学习资源平台功能的实现

4.1 系统主界面的实现

学生用户可以注册并登录此平台来完成自主学习任务,首先进入课程中心搜索需要课程资源或学习路线,点击课程可以进入课程详情界面,可以查看课程相关视频、下载实验指导书和配套习题等.同样,学生可以根据每门课程的学习路线来规划相应的学习,学习完成后,可以提交课后作业和完成章节测试,来检验自己对知识的掌握程度,可以在实践教学中完成课程所设置的实验项目.此外,可以进行课程的收藏,也可以在关注和评论模块对课程进行关注,并进行话题的讨论,以达到师生之间的交互.管理员用户可以在此平台上进行课程的管理,课程学习路线的发布,与学生进行在线交流,并且可以分析学生学习行为的数据,从而达到更好的学习效果.系统主界面见图3.

图3 系统主界面

4.2 学生学习行为数据分析

本系统可以对学生用户登录系统的次数、课程浏览的次数、课程下载的次数等信息进行采集[10],从而进行学生自主学习行为的分析,对教师后续的教学起到辅助决策作用.首先,将每个课程访问的频率等数据收集下来,利用Flume工具对用户行为数据的采集;然后,采用MapReduce进行数据的预处理,再将预处理后的数据存储到MySql表中,对其进行分析;最后,进行可视化数据展示,这样教师可以更好地根据学生学习情况对课程内容和进度进行及时地调整,达到个性化教学目的.其数据处理分析流程见图4.

图4 数据处理分析流程

5 结语

本文采用Hadoop技术框架及其组件,构建了学生自主学习资源平台,并给出其总体框架结构和系统功能模块的设计,通过搭建Hadoop平台,实现学生端和管理员端各模块功能.学生成功登录后,可以进行课程学习或下载相关资源,同时还可以和教师进行交流;教师也可以通过此平台发布课程,实现了教学资源的共享,方便用户的使用.这极大地提高了学生的学习兴趣和主动性,提高了教学质量和教学效果.

[1] 蒋云霞,符琦.基于Hadoop的云教学资源平台的研究[J].当代教育理论与实践,2016,8(4):3.

[2] 张舜.基于Hadoop的高校数字资源分布式处理系统设计与实现[D].南宁:广西大学,2019.

[3] 刘丽娟.基于Hadoop的独立学院云教学自主学习平台的研究和实现[J].自动化技术与应用,2017(36):12.

[4] 刘莹.基于Hadoop的高校自主学习平台的研究与建立[D].西安:西安科技大学,2014.

[5] 孙国福.基于Hadoop的教学资源平台建设[J].电子技术与软件工程,2020(20):188-190.

[6] 林中明,李文敬.基于Hadoop的Web用户识别与新闻智能推荐算法研究[J].软件导刊,2016,15(5):3.

[7] 刘丹,梁丽,曾燕,等.基于Hadoop的云教学资源平台[J].长春理工大学学报(自然科学版),2017(40):6.

[8] 罗光明.基于Hadoop的分布式文件系统实现[J].西华师范大学学报(自然科学版),2015(1):95-101.

[9] 谭洁清,毛锡军.Hadoop云计算基础架构的搭建和hbase和hive的整合应用[J].贵州科学,2013(5):32-35.

[10] 葛苏慧,万泉,白成杰.基于Hadoop的高校学生行为预警决策系统研究[J].计算机应用与软件,2021(1):6-12.

Construction of students′ autonomous learning resource platform based on Hadoop

TENG Yanping,ZHANG Yajie,WANG Haizhen,LIAN Zuozheng,LI Ming

(School of Computer and Control Engineering,Qiqihar University,Qiqihar 161006,China)

Aiming at the problem that the traditional organization form of teaching resources,teaching means and teaching content can′t fully meet the needs of students,proposes and designs a cloud platform of computer students′ autonomous learning resources based on Hadoop.The system adopts B/S structure mode and MVC programming mode,and takes MySQL and HBase as the system database to improve the speed and accuracy of resource query and storage.It achieves the purpose that administrators upload courses and students learn independently on demand, analyzes students′ learning behavior data,realizes personalized teaching and individualized teaching,and improves students′ learning efficiency and teaching quality.

Hadoop;independent learning resource platform;MVC;MySql and HBase

1007-9831(2022)11-0077-05

TP311.5∶G642.0

A

10.3969/j.issn.1007-9831.2022.11.015

2022-07-15

黑龙江省高等教育教学改革研究项目(SJGY20190710);齐齐哈尔大学教育科学研究项目(GJZRYB202007);齐齐哈尔大学学位与研究生教育教学改革研究项目(JGXM_QUG_2020004);黑龙江省教育厅基本业务专项齐齐哈尔大学科研项目(135509117)

滕艳平(1965-),女,黑龙江齐齐哈尔人,教授,从事计算机网络研究.E-mail:typ2732996@163.com

猜你喜欢
结点集群分布式
LEACH 算法应用于矿井无线通信的路由算法研究
基于八数码问题的搜索算法的研究
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人
基于DDS的分布式三维协同仿真研究
西门子 分布式I/O Simatic ET 200AL