基于Cygwin和虚拟机技术的大数据实验室建设研究
应 毅1,任 凯2,刘亚军3
(1.三江学院计算机科学与工程学院,江苏南京 210012;2.南京大学金陵学院,江苏 南京210089;3.东南大学计算机科学与工程学院,江苏南京 210096)
摘 要: 目前大数据人才培养在国内外高校开始普及,但大数据实验室的几种常用建设方法都存在着诸多问题。新的解决方案提出如下:建立基于Cygwin的单节点Hadoop,建立基于虚拟机技术的Hadoop集群,两种互补的Hadoop环境用于完成安装、配置、管理等入门型实验和程序开发、并行计算等进阶型实验。该方案无需额外购置设备,节省实验室资金,同时未增加机房维护工作量,提高机房可复用性,而且实验教学效果良好,为地方高校的大数据实验室建设提供了有益的思路并起到推广作用。
关键词: 大数据实验室;虚拟机技术;Linux操作系统;Hadoop
大数据是指数据的容量、获取速度和数据的表示限制了使用传统关系方法对数据的分析处理能力,需要使用水平扩展机制以提高处理效率[1]。大数据主要来自于物理世界(科学实验数据、传感数据)和互联网(社交网站、电子商务),它们产生了大量的半结构化数据(HTML、XML)和非结构化数据(文本、图片、音频、视频、UGC)。这些数据具有4V特征[2]:数据体量巨大(Volume);数据类型多样(Variety);有价值但密度低(Value);数据生成快速(Velocity)。
Apache Hadoop是一种基于批处理技术的开源大数据平台[3],由 Java语言实现,运行在 Linux操作系统之上,作为Google MapReduce和GFS技术的开源实现,它集成了数据存储、数据处理、系统管理等功能,提供了强大的系统级解决方案,已经成为大数据领域事实上的标准[4]。
1 大数据实验室建设的现状与问题
在大数据及云计算产业高速发展的背景下,国内外很多高校已经开始进行大数据相关专业人才的培养[5]。与传统数据相比,大数据处理更为复杂,只有那些具备统计分析、数据库、分布式计算、编程技能和相关专业知识的人,才能把混乱、庞杂的原数据转化为有价值的资源。大数据人才的培养不仅是理论知识的传授,关键更在于工程能力的培养,教学设计方面要强化实验及实践课程。
作为数据工程技术平台的大数据实验室,与以往高校计算机专业的实验室环境完全不同。以往实验课的计算机通常是1∶1使用,一个学生使用一台计算机(如编程类课程、数据库课程);或者是N∶1使用,多个学生使用一台服务器(如软件测试、项目管理课程)。大数据实验室的计算机通常是N∶N使用,一组学生使用一个集群,并涉及多种计算机技术:Linux系统、Shell命令、分布式存储、并行计算、Java编程、数据挖掘算法等,这在软硬件环境、实验管理、人员组织与搭配等方面对高校实验室建设是一个新挑战。
当前,很多高校建设大数据实验室有以下几种常用方法。
11月8日,广州塔19层举办了一场100 Best澳大利亚葡萄酒之精选酒款品鉴会,致力于实惠价格区间化以及实惠地区化地寻找澳大利亚的美酒。英国《每日邮报》葡萄酒专栏作家、最有影响力的欧洲酒评家之一——葡萄酒大师Matthew Jukes出席当天活动,还有众多葡萄酒爱好者、进口商与媒体参加了此次品鉴会,亲身感受到了100Best澳大利亚葡萄酒之精选酒款品鉴会的卓越品质。
(2)虚拟机方式[7]。在Windows系统下安装虚拟机软件[8](VirtualBox、VMWare 等),在虚拟机上安装Linux,在Linux上安装Hadoop。优点是可以使用已有的硬盘保护功能,机房维护轻松。缺点是虚拟机较慢,实验代价偏大。
在对 LW16-40.5型断路器的检修过程中应当注意以下标准能否达标,确保断路器能够完成相应的合分工作。
(3)额外购置硬件[9]。原有的机房环境不变,额外购置若干服务器/小型机,使用成熟的解决方案新建专门的Hadoop集群。优点是实施简单,使用方便。缺点是资金要求很高,对大多数地方高校而言几乎无法承受。
鉴于资金及资源限制,大部分高校在初始阶段不可能单独建设专门的大数据实验室,上述几种常见方法又各有自身的一些缺点,故笔者提出如下方案:在学生机的Windows系统下安装Cygwin和VM-ware软件,在Cygwin下安装 Hadoop;在 VMware中以虚拟机方式安装Linux操作系统,在Linux下安装Hadoop,将若干 Linux节点组成 Hadoop集群。这样,就形成两个Hadoop环境:一个本机的单节点Hadoop(基于Cygwin),用于基本命令练习、编程及程序正确性测试;一个虚拟机下的Hadoop集群(基于Linux),用于集群环境的安装配置练习、并行程序验证及性能比较。该解决方案不影响已有的Windows平台,未增加机房的维护工作量,Hadoop集群也与IT企业的实际开发环境保持一致,有利于学生的就业。
为了保证问卷的有效信和可靠性,运用SPSS19.0对原始数据进行克朗巴哈α信度分析,重要性因子和绩效表现因子的α系数分别为0.918和0.957,表明相关感知特征项的内在一致性较好,问卷具有良好的测量信度,符合社会科学研究中的α系数的标准,适用于IPA分析.
图1 学生机安装软件和Hadoop集群示意图
2 大数据实验室的设计与实现
2.1 整体结构
在原有机房基础上,无需额外购置新硬件,通过安装软件来完成大数据实验室的建设,软件主要包括:Windows XP Professional SP3/Windows 7、Cygwin 1.7.5-1、VMware Workstation 8、CentOS 5.5、Hadoop1.2.1、HBase-0.98.0 以及 Eclipse 4.2。
主瓣干扰发生时,主瓣内谱线相位将会明显改变,因此可以将主瓣内谱线的相位作为主瓣干扰的判据。余弦组合窗是目前最常用的一类窗函数,其时域通用表达式为
实验室要搭建两套环境:
(1)安装Cygwin
(2)在 Windows下安装 VMware Workstation,在VMware中创建虚拟机,并安装CentOS操作系统,在CentOS下以全分布模式安装Hadoop,每一个Hadoop集群由4个节点组成:1个Master,3个Slave。每台学生机的安装软件和Hadoop集群结构如图1所示。
2.2 Cygwin 的安装与配置
Cygwin[10]是一个运行在 Windows平台上的UNIX仿真环境,它使得在没有UNIX/Linux的情况下,也可以使用Shell命令行,解决了Hadoop只能安装在Linux平台上的问题。因为Cygwin是Windows的应用软件,所以安装Cygwin不会破坏Windows,对PC机的系统保护也不会有影响,因此机房的维护工作量没有任何增加。
Cygwin的安装与配置大致包括以下步骤:
(1)在Windows下安装Cygwin软件,在Cygwin下以伪分布模式安装Hadoop。伪分布模式即在单机环境中创建多个线程来模拟集群。
国内大型的服装企业自行研发的PDM系统,虽然在单个企业的实施效果好,也只能称为成熟的、适应单一企业模式的PDM系统,还无法成为真正意义上的PDM产品。
Cygwin的安装与Windows下其它应用软件的安装并无区别。除了默认组件外,以下Package需要被安装:Base Category分类下的sed、Editors Category分类下的Vim、Devel Category分类下的Subversion、NetCategory分类下的 OpenSSL。
毕业顶岗实习是理论联系实际的重要实践教学环节。沈阳工学院酒店管理专业实行“2.5+1+0.5”的教学进度安排,学生需要在上海皇廷酒店集团顶岗实习一年,前半年侧重专业技能的综合训练,后半年侧重专业技能的质量提升。这也是学校创新酒店管理专业人才培养模式的关键环节。
(2)安装JDK、配置环境变量
启动新建的虚拟机,使用iso文件安装CentOS,这与在物理机上安装CentOS并无区别。建议为所有的CentOS配置相同的root用户密码。
需要配置的环境变量包括PATH和JAVA_HOME。JAVA_HOME指向JRE安装目录;JDK的bin目录、Cygwin的bin目录、Cygwin的usr\\bin目录需要添加到PATH环境变量中。
VMware Workstation和CentOS的安装与配置过程如下:
(3)执行ssh-host-config命令安装sshd服务
(4)启动sshd服务
(5)执行ssh-keygen命令生成密钥文件并分发,执行ssh localhost命令验证SSH登录
(1)直接安装[6]。直接在学生机上安装Linux,在Linux上安装Hadoop。优点是速度快,配置便捷。缺点是开发环境也是Linux;机房可复用性差。
至此,Cygwin环境准备完毕。
(4)安装 VMware tools,配置共享文件夹[11]共享文件夹便于宿主机与虚拟机之间交换文件。
2.3 VMware Workstation和CentOS的安装与配置
答:瑞典警方已经确认这3名中国游客没有违反法律,警察无权逮捕他们。当然,如果他们犯了法,警察就应依法办事。实际上,3名中国游客人生地不熟,不远万里深夜刚刚抵达斯德哥尔摩,需要帮助。他们能找谁呢?他们本可以找我们使馆,但遗憾的是他们没有这样做。瑞典警察如果不愿意协助他们,最好的办法是联系我们使馆,但他们也没有这样做。即使这3名中国游客的行为有不足或瑕疵之处,都不能构成瑞典警察这样粗暴对待他们的理由。我们不是要尊重人权吗?!我们不是要讲人权吗?!
由计算得到的腐蚀速率、腐蚀减薄严重程度、实施检测的次数及检测有效性情况综合确定,检测结果见表2所列,其中腐蚀减薄严重程度Art计算如式(3)所示:
(1)安装VMware Workstation
(2)在VMware Workstation中新建虚拟机
CPU、内存、I/O适配器、磁盘大小皆可以使用推荐值。
网络连接类型选择 Bridged(桥接模式),为CentOS设置独立的IP地址(宿主机和虚拟机拥有各自的IP地址)。这样,虚拟机相当于局域网内的一台独立机器,网络内其它计算机可以访问虚拟机,虚拟机也可以访问其它计算机,宿主机与虚拟机之间也可以相互访问。
(3)安装CentOS
Hadoop由Java语言开发,所以需要JDK的支持。可以使用Windows下的JDK,也可以在Cygwin下安装JDK。
(4)技术力量在突破人类中心论中扮演了重要角色。因为技术力量对人类行为及其后果的改变,使得伦理学研究范畴超越了传统的时间和空间范围,因此,势必将打破大部分早期伦理体系中的人类中心论地位。与早期伦理学关注人、人的行为和行为后果不同,技术时代的伦理视域已经扩展开来,并逐渐呈现出一种宏大的、整体的视角。人的伦理学不仅关注人,而且关注人类整体,关注人类处于其中的自然。此外,从一种存在主义的视角看,人类的独断的情感和态度,与人类自身生存的未来已经不相符合,对人类自身,尤其是大自然的认识需要调整适应,建立一种突破人类中心论的伦理学势在必行。
风筒最底部与地面距离较近,通过沟坎时容易损坏风筒,风筒风力一部分靠皮带张紧轮控制容易造成风力转速丢失,建议调整风筒位置。
(5)通过共享文件夹为CentOS设置静态IP地址因为是桥接模式,所以每个VMWare中的CentOS都要设置独立的IP地址。为整个机房每台机器手动设置显然不现实,使用Shell脚本可以完成该功能。
新建 ComputerName-IP.txt文件,保存“Windows计算机名”和“CentOS IP地址”的对应关系。Windows启动时,运行 CreateIpSh.bat,该批处理文件读取ComputerName-IP.txt文件,根据当前计算机名,获取IP地址,生成SetIP.sh,并放置在共享文件夹中。VMWare中的CentOS启动时,自动运行共享文件夹中的 SetIP.sh,该 Shell脚本更新“/etc/sysconfig/network-scripts/ifcfg-eth0”文件,并执行“/etc/init.d/network restart”命令,为 CentOS 设置静态 IP地址。
(6)在CentOS中安装JDK
(7)安装SSH,生成公钥和私钥,分发公钥,配置节点间SSH免密码登录
初中阶段涉及的函数有一次函数、二次函数、正比例函数、反比例函数等,数学教师在教学过程中可以将初中阶段所涉及不同函数的概念、解析式、图像、性质等方面进行对比讲解,学生在学习时,可以更好的区分不同函数的相同点和不同点。教师将相关函数知识联系起来进行教学,可以更好的加深学生的记忆,有助于学生更好的掌握不同函数的相关知识,提高教学效率。
至此,CentOS环境准备完毕。
2.4 Hadoop的安装与部署
两套环境下Hadoop安装、配置的过程并无本质区别,都包括4个步骤。
——A case study of Hydropower Station in Xinnagela,Yunnan Province XU Yong-chao FAN Ya-hong LIAO Shao-zhong et al.(35)
(1)解压缩Hadoop安装包
(2)正确配置相关文件
涉及到的文件包括两类:一类是操作系统层面的hosts文件和profile文件;另一类是Hadoop的配置文件,它们都在Hadoop安装目录的conf文件夹下。每个文件的配置要点详见表1所示,其中,全分布模式以表2所示的4个CentOS节点为例,Hadoop集群并不要求各节点IP地址是连续的。
(3)启动Hadoop集群
执行命令 hadoop namenode-format,格式化分布式文件系统;执行命令 start-dfs.sh,启动 HDFS;执行命令 start-mapred.sh,启动 Hadoop MapReduce。
(4)检查Hadoop集群是否正常
执行jps命令查看守护进程。伪分布模式下,应该有 5个进程:JobTracker、NameNode、SecondaryNameNode、TaskTracker、DataNode。全分布模式下,Master上应该有3个进程:JobTracker、NameNode、SecondaryNameNode;Slave上应该有2个进程:TaskTracker、DataNode。
通过浏览器访问HDFS和MapReduce的管理页面,具体访问地址如表3所示。
流行文化对于大众审美起着相当大的影响作用,也正是由此出发,人们对于荧屏上出现的阴柔审美表现出了一种警惕心理。有人认为,内容输出者也是没有办法,未成年人喜欢“娘气”亚文化,只能尊重市场投其所好。而把很多问题归结为“无可奈何”,是一种推卸责任的做法。文化市场不是普通市场,必须考虑价值观问题,而且未成年人审美存在极大的随机性与偶然性,很多时候不是因为他们喜欢才成为流行,而是成为流行他们才喜欢。研究发现,小学五年级时,榜样对孩子的影响力会达到最高峰,初中二年级的时候,偶像的影响力达到最高峰。
表1 安装Hadoop的相关文件配置要点
表2 全分布模式下CentOS节点部署示例
表3 HDFS和MapReduce的管理页面
2.5 配置开发环境
编程实验课需要使用Eclipse进行Hadoop方面的程序开发[12]。
安装Hadoop Eclipse插件:下载hadoop-eclipse-plugin-1.0.4.jar,将其放置在 Eclipse 安装目录的plugins文件夹内,重启Eclipse。如果在打开透视图对话框中能够看到“Map/Reduce”选项,表明插件安装成功。在“Map/Reduce”透视图中,右键点击“New Hadoop Location”,根据Hadoop的安装情况,填写正确的Map/Reduce、DFS配置信息。至此,E-clipse开发环境配置完毕,可以选择“Map/Reduce Project”来开发并行应用程序。
3 实验课程
大数据理论课程的配套实验及学生的课外实践需要大数据实验室的支撑。大数据实验室围绕Hadoop生态圈中的平台和工具开展实验教学活动,支持主流的 Hadoop开源软件:HDFS、MapReduce、HBase、Spark、Hive、Pig、Mahout等。能够提供给“Hadoop与分布式系统”、“大数据分析与挖掘”、“NoSQL与云数据库”等课程使用。
“Hadoop与分布式系统”是大数据专业方向的核心课程,主要介绍分布式存储和并行计算框架,以及Hadoop的原理与应用,熟练掌握Hadoop平台的安装与配置、HDFS的管理与使用。“大数据分析与挖掘”主要讲解与大数据相关的数据处理与分析技术,要求掌握MapReduce编程模型、并行程序的设计和二次开发方法。“NoSQL与云数据库”讲授No-SQL数据模型、CAP理论和海量数据管理技术,掌握HBase的安装和使用,了解基于HBase的程序开发。以上课程的实验课详细安排如表4所示。
表4 典型实验课及实验内容
4 结语
大数据实验室是大数据人才培养不可或缺的重要部分,为实验教学提供硬件支撑。通过在Cygwin下安装Hadoop、利用虚拟机技术部署Hadoop集群等软件方式,建立两种互补的Hadoop环境,保持众多学生机的原有状况不变,没有给实验室的维护增加其他负担。在一个配备60台PC机的普通机房,构建出15个Hadoop集群,3~4个学生使用一个集群,性能压力较小,不需要使用小型机或购置新设备,节省了实验室资金。该大数据实验室已实际运行在网络机房中,每次实验课有50~60名学生同时上机,经实践证明运行稳定、维护方便,可供大家在建设大数据实验室时参考与借鉴。
参考文献(References):
[1] 李学龙,龚海刚.大数据系统综述[J].中国科学:信息科学,2015,45(1):1.
[2] 王芳,杨磊,郭慧婷,等.大数据背景下经管类实验教学改革探索[J].实验室科学,2016(3):72-75.
[3] 应毅,刘亚军.MapReduce并行计算技术发展综述[J].计算机系统应用,2014(4):1-6,11.
[4] 孟小峰,慈祥.大数据管理:概念、技术与挑战[J].计算机研究与发展,2013(1):146-169.
[5] 何海地.美国大数据专业硕士研究生教育的背景、现状、特色与启示——全美23所知名大学数据分析硕士课程网站及相关信息分析研究[J].图书与情报,2014(2):48-56.
[6] 蒋宁,李文,李鸿彬.基于Hadoop的云计算辅助教学平台研究[J].中国远程教育,2012(9):79-82.
[7] 孔艺权.面向开源软件的“云计算”仿真实验设计[J].实验技术与管理,2013(2):122-125.
[8] 何增颖.虚拟机技术的实验教学应用[J].实验科学与技术,2010(1):80-82,87.
[9] 姚占雷,许鑫,叶德磊.云计算架构下经管类实验教学环境搭建与应用实践[J].现代教育技术,2013(7):111-116.
[10] 应毅,任凯.使用Cygwin和SUSE Linux构建类Unix的实验教学环境[J].现代教育技术,2012(2):121-124.
[11] 郁书好,苏守宝.VMware下的多操作系统实验环境构建[J].实验室研究与探索,2013(9):106-108.
[12] 付伟,严博,吴晓平.云计算实验平台建设关键技术研究[J].实验室研究与探索,2013(11):78-81.
Research on big data lab construction based on Cygwin and virtual machine technology
YING Yi1,REN Kai2,LIU Ya-jun3
(1.College of Computer Science and Technology,Sanjiang University,Nanjing 210012,China;2.Jinling College,Nanjing University,Nanjing 210089,China;3.School of Computer Science and Engineering,Southeast University,Nanjing 210096,China)
Abstract: Nowadays,the cultivation of big data talents has been popularized both at domestic and foreign universities.But there are many problems in common method of building big data laboratory.So a new way was presented in this article to solve this problem.Setting up a group of complementary Hadoop environments- Single-node Hadoop based on Cygwin is used to complete the introductory experiments,such as installation,configuration,management and Hadoop cluster based on virtual machine technology is used to perform advanced experiments,such as program development,parallel computing.This program does not need to purchase additional equipments or increase maintenance workload,which may significantly save the construction cost of a laboratory building and improve the reusability of the lab.Moreover,it has been proved to be effective and productive and the most important is to provide beneficial idea to big data laboratory construction of local colleges and universities.
Key words: big data laboratory;virtual machine technology;Linux operating system;Hadoop
中图分类号: G482
文献标识码: A
doi: 10.3969/j.issn.1672-4305.2019.04.046
基金项目: 江苏省高校自然科学研究基金项目(项目编号:17KJB520033);江苏省教育科学“十二五”规划高教立项课题(项目编号:D/2015/01/146);江苏省现代教育技术研究重点课题(项目编号:2015-R-42743)。
通讯作者: 任凯(1979-),女,江苏扬州人,工学硕士,讲师,工程师,主要研究方向为分布式计算与数据库。
收稿日期: 2018-07-06
修改日期: 2018-10-09
作者简介: 应毅(1979-),男,江苏南京人,工学硕士,副教授,主要研究方向为大数据处理与数据库。
标签:大数据实验室论文; 虚拟机技术论文; LINUX操作系统论文; hadoop论文; 三江学院计算机科学与工程学院论文; 南京大学金陵学院论文; 东南大学计算机科学与工程学院论文;