基于云计算和大数据教学实训平台的设计研究

2014-03-22 03:13谭忠理
智能建筑与智慧城市 2014年8期
关键词:虚拟化集群实训

谭忠理

(广州开发区政府投资建设项目管理中心)

1 引言

1.1 研究背景和意义

云计算是互联网产业发展20年后新的变革,在互联网基础设施及应用方面比较成熟,人们的生活数字化程度不断加强,互联网形成的架构和模式无法支撑网络需求快速增长的背景下,IT产业开始走向云计算时代。2012年我国政府工作报告对云计算做了如下定义:云计算是基于互联网服务的增加、使用和交付模式,涉及通过互联网来提供动态易扩展且经常是虚拟化的资源,是传统计算机和网络技术发展融合的产物,它意味着计算能力也可作为一种商品通过互联网进行流通。

1.2 国内外技术发展

1.2.1 从硬件推动到网络推动

纵观信息产业,可以发现硬件技术和网络技术是推动其发展的主要力量,如图1所示。硬件驱动的时代诞生了IBM、微软、Intel等企业。随着网络的发展,网络通信带宽逐步加大,逐渐成为推动信息产业发展的主导力量,随之诞生了百度、谷歌、亚马逊等企业。直到云计算的出现才标志着网络已成为信息产业发展的主要驱动力,此时技术的变革即将出现。

1.2.2 计算技术向云计算、大数据演进

在硬件推动向网络推动转变的过程中,计算技术还呈现出以下的发展趋势。

1)从面向计算到面向数据的发展过程。

2)从以硬件为核心到以网络为核心。

3)从集中到分散再到集中。

计算技术向云计算、大数据的发展过程如图2所示。

1.3 产业发展趋势

云计算是我国IT产业发展的战略性机遇,国家高度重视、积极引导云计算产业的发展。2012年3月,在国务院政府工作报告中,云计算被作为重要附录给出了一个政府官方的解释,在此之前云计算已经作为国家重点支持发展的战略性新兴产业,列入《中华人民共和国国民经济和社会发展第十二个五年规划纲要》。

1.4 云计算与大数据教学及科研

作为我国重点发展的战略性新兴产业,云计算、大数据成为各地政府大力支持的产业,云计算企业和相关产品出现持续性快速增长。下面对云计算、大数据及数据中心方向的国家自然科学基金项目进行分析与研究。2009年-2013年3个方向的立项数据如图3所示。

1.5 主要问题

与其他新兴学科类似,云计算、大数据作为一个新兴的技术方向在早期教学、科研中遇到很多亟待解决的问题,比如,在教学领域会面临无教材、无教师、无实验设备的“三无”窘境,同时专业如何设置、课程如何组建、老师教什么、学生如何学、实验做什么;在科研领域,研究方向如何确立、科研设备如何设计等问题。

2 教学实训平台设计

2.1 设计目标

1)教学实训基础功能。满足计算机、电子等相关专业的公共基础课程的教学需求,既能完成常规课程的一对多教学实训任务,又能完成相关课程的单机实验任务。

2)基于虚拟化的教学实训专业功能。虚拟化作为云计算系统的重要特征,是需要实现的重要目标之一,为基于虚拟化的应用和研究提供平台,实现虚拟机的快速部署。

3)基于集群的教学实训专业功能。满足并行计算、云计算、大数据等方向课程的教学实训功能,建立云计算大数据教学集群环境,搭建、配置典型的集群系统。

4)支持720个云终端桌面,可取代720个PC电脑,可满足计算机系、电子系等专业的实训内容。

5)支持主流分布式存储系统(Gluster、Mfs)的规划、设计、搭建、使用调试、故障维护及开发。

2.2 设计原则

2.2.1 一体化原则

集广播教学、单机实验、虚拟化实验、集群实验、高性能计算等多种功能于一体,能向不同用户同时提供多种教学、实验硬件方案服务。

2.2.2 高密度原则

采用高密度服务器,构建硬件集群,实现教学实训平台,使平台具备足够的物理节点,同时实现较高性价比。

2.2.3 多平台原则

在一套硬件平台上实现多个云计算大数据软件系统,搭建多种类型的云计算、大数据集群环境,实现多平台共存。

2.3 设计思路

为了在一套平台上实现以上的功能目标,本文采用云终端+高密度集群的方案构建平台,使用KVM将集群资源进行虚拟化,虚拟出众多的虚拟机,构成规模更大的集群用户。

2.4 硬件设计

由于本教学实训平台既要满足虚拟化的要求,又要满足集群计算的实验要求,因此本文采用胖节点+刀片机的架构。

2.5 集群试验系统设计

实验系统平台结构如图4所示。

在以上的虚拟化平台上分配虚拟机,部署MPI,HPCC,Hadoop,Storm平台,构建大数据集群实验系统。

3 平台软硬件测试

3.1 平台硬件测试

硬件稳定性及散热性测试的项目、方法及结果等如表1、表2所示。

表1 硬件稳定性测试内容

3.2 软件平台测试

表2 散热性测试内容

在浏览器地址栏输入IP地址,出现登录虚拟机管理节点的登录界面。输入账号、密码,可正常登录虚拟机管理系统。在此界面中设置虚拟机的参数信息,选择Linux操作系统,进入虚拟机的参数设置界面。

3.3 常用应用测试

1)运行EWB5.0。测试结果表明,在本平台上可以正常运行EWB 5.0。

2)运行Keil。测试结果表明,在本平台上可以正常运行Keil。

3)运行Modelsim 10.1a。测试结果表明,在本平台上可以正常运行Modelsim 10.1a。

4 系统部署与实验

4.1 面向计算的并行计算系统MPI

采取以下步骤搭建MPI并行开发环境。

1)获取3台安装有Linux系统的虚拟机。

2)保证每个节点的sshd服务(Secure Shell)能正常启动(root权限)。

3)永久关闭每个节点的防火墙(root权限),避免MPI不能访问网络造成程序执行出错。

4)为每个节点分配IP地址(root权限)。

5)修改机器名(root权限)。

6)配置/etc/hosts文件(root权限)。

7) 挂载NFS文件系统。

8)配置ssh实现MPI节点间用户的无密码访问。

9)安装MPICH2。

4.2 分布式大数据系统Hadoop

1)配置Hadoop环境

2)配置ssh实现Hadoop结点间用户的无密码访问。

Hadoop需要进行信息传递,所以需要达到结点间的无密码访问,这和利用MPI实现并行程序是一样的,否则系统会周而复始地请求密码验证。

3) JDK的安装配置

Hadoop是采用Java编写的,所以需要安装java的JDK。

4)安装配置

(1)解压Hadoop,并将其置于用户的主目录/root下。

(2) Hadoop配置文件的修改。

(3)格式化Namenode(格式化Namenode是运行Hadoop之前的必须步骤),执行Hadoop的bin文件夹中的格式化命令。

(4) Hadoop的运行和停止,运行Hadoop的bin目录下的start-all.sh,启动和停止Hadoop。

(5)测试Hadoop。

5)在Hadoop环境下实现WordCount

(1)启动Hadoop服务。

(2) Hadoop创建Hadoop分布式文件系统输入目录。

(3)把本地目录下的文件上传到Hadoop的分布式文件系统的输入目录。

(4)运行WordCount 列子。

(5)查看程序运行结果。

4.3 流数据实时计算系统Storm

4.3.1 安装准备工作

1)分配4个虚拟节点,安装64位CentOS系统,若系统为32位的,则使用的 JDK也需要32位。

2)将4个虚拟机的IP地址设置为192.168.122.101~192.168.122.104。

3)安装Storm所需的依赖软件:Python,JDK,gcc-c++,libtool,libuuid,libuuid-devel。

4)安装下列工具包:Zookeeper,Zermq,JZMQ,Storm,Maven。

4.3.2 安装步骤

1)安装依赖文件:安装JDK,设置环境变量,打开/etc/profile,使用指令“java –version”查看安装是否成功。

2)安装Zookeeper:对ZOOKEEPER_HOME和ZOOKEEPER_HOME/bin进行设置,新建目录/tmp/zookeeper和/var/log/zookeeper存放临时文件。

3)安装Storm:编辑配置文件,在文件最下方添加Storm的配置信息。4.3.3 设置Storm

1)在各个节点上注意设置zookeeper,在/usr/local/zookeeper/conf/zoo.cfg文件末尾加上以下代码:

2)将/usr/local/storm/conf/storm.yaml文件中的storm.zookeeper.servers下面的内容替换为192.168.122.101~192.168.122.104。将nimbus.hosts设置为192.168.122.101。

4.3.4 启动Storm

1)主节点(192.168.122.101)上执行:

2)在子节点(192.168.122.102~192.168.122.104)上执行:

现在检测是否安装成功,通过浏览器输入192.168.122.101:8080查看,成功后就可以启动实例进行测试。

4.4 面向数据的高性能计算集群系统HPCC

4.4.1 准备工作

配置ssh无密码访问,这步工作在配置MPI开发环境时已经配置完成。

4.4.2 安装工作

1)在安装HPCC的过程中,需要在每个节点上安装HPCC。

HPCC的安装文件分为插件版和不带插件版,其官方网站提供了两种安装文件的下载包。其中,插件版提供了Java、Python等语言的支持。两种版本的安装指令有所不同。

2)启动HPCC系统服务。

3)检查启动的HPCC服务情况。

4)停止HPCC服务。安装成功后,HPCC会将文件安装到默认的路径。

4.4.3 配置集群环境

1) 停止HPCC系统服务。在启动HPCC集群配置服务前,需要首先停止全部节点上的HPCC服务。

2)启动配置服务,启动之后用户可以通过Web界面接口启动集群环境配置。

3)通过浏览器登录集群,进行集群配置,登录8015端口即可进入集群环境配置界面。

4)创建自己的集群配置文件。

5)集群网络配置。填写集群的网络地址信息,配置文件根据此处填写的IP地址信息将Thor集群和Roxie集群分配到各个节点。

6)配置Thor集群和Roxie集群的节点数。

7)用新生成的配置文件替换原始的配置文件。

8)重新启动集群。

4.4.4 在HPCC环境下进行数据处理

在HPCC平台上对固定长度的数据集进行变换,数据格式如表3所示。

表3 数据格式

5 结束语

云计算、大数据产业的发展催生了市场对人才的需求。计算和数据是信息产业发展的两大主题,云计算、大数据的核心技术紧紧围绕这两大主题。虚拟化技术和集群计算技术是云计算、大数据相关专业必须掌握的技术。

高校在开设云计算、大数据专业课程的时候往往缺乏教学实训的实验平台,并且缺乏教学实训方案。

本文围绕云计算与大数据的核心特点,设计实现了一套适合教学实训的云计算、大数据硬件实验平台。平台采用瘦终端+集群的硬件解决方案,并在此硬件平台上构建虚拟化平台,以满足普通的教学实验,构建虚拟化实验环境;同时,在此基础上构建多种集群计算环境,以满足大数据和高性能计算教学实训的要求。

猜你喜欢
虚拟化集群实训
BOPPPS教学模式在产科护理实训课中的应用
基于CDIO理念的数控实训教学改革与实践
海上小型无人机集群的反制装备需求与应对之策研究
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
电工电子实训教学改革与创新
浅析虚拟化技术的安全保障
H3C CAS 云计算管理平台上虚拟化安全防护的实现