集群搭建

2024-05-17

集群搭建(精选五篇)

集群搭建 篇1

1 硬件系统的搭建

在本计算机集群中, 每个节点 (服务器) 的作用不是完全一样的, 按功能可以分为六类:分别是用户登录节点 (Gateway Node) 、核心管理节点 (Center Management Node) 、作业调度节点 (PBS server Node) 、作业提交节点 (User Node) 、计算节点 (Compute Node) 和存储节点 (Storage Node) 。如图所示:

用户登录节点 (hostname:lxplus01) :是集群的网关、计算集群的入口。外网用户首先远程登录Gateway Node, 再由它登录到其他节点, 这样能在物理层将外网和内网分隔开, 保证集群系统的安全性;核心管理节点 (hostname:CS) :为计算机群提供基本的网络服务和管理功能, 如DNS、NFS、NTP、DHCP、LDAP等等。本集群的核心节点同时提供安装集群的各种软件。包括操作系统、应用软件和管理脚本。核心管理节点是集群系统最关键的节点, 所以我们对其做了硬盘冗余设置;作业调度节点 (hostname:pbssrv) :作业管理系统PBS (Portable Batch System) 就安装在本节点上, 通过PBS作业调度管理, 可以对集群系统的资源进行有效的分配、监测和控制;登陆节点 (hostname:sl01-sl03) :是用户登录计算集群并提交作业的节点。用户远程登录slxx, 会被随机分配到sl01-sl03节点。这样可以提高用户提交作业的效率, 也便于以后扩展计算资源;计算节点 (hostname:cu101-cu116) :是整个集群的计算节点, 他的功能就是执行计算。存储节点 (hostname:hepgdata/d1-d6) :它是集群系统的数据存储器和数据服务器。存储节点的功能主要是存储并行程序中所需要的大量数据。本集群磁盘阵列在做完raid05之后, 存储能力可以达到80TB。

以上对集群节点的划分并不是一成不变的。根据实际的需要, 有时可以将管理节点、登录节点、调度节点放到同一个服务器上。一般而言, 单台服务器承担的负载越多效率会越低, 而服务器过多又会造成对资源的浪费。所以应该在搭建集群系统前, 对所需的计算资源做好科学的规划。

2 软件系统的搭建

2.1 操作系统:

操作系统的功能是对计算机硬件资源的管理、向用户提供编程接口和交互操作界面的软件、控制输入和输出设备、管理内存和配置文件系统等, 同时操作系统支持多种高级语言和各种类型的应用程序。linux操作系统依靠其强大的功能和稳定性, 在计算集群操作系统中占据着主导地位。本集群使用的是由费米国家加速器实验室和欧洲核子中心 (CERN) 等共同开发的scientific linux6.3操作系统。Scientific linux系统被广泛的应用于高能物理的科研和教育领域, 能够很好兼容和支持高能物理常用的应用软件。在CS核心服务器安装系统和网络配置完成之后, 利用CS服务器上NFS服务器功能, 建立共享目录/hep/sl-repo/6.3/x86_64/, linux安装程序就保存在此共享目录之下。其他所有服务器就可以通过NFS server提供的共享目录来安装系统。只需要制作一个USB Flash drive, 并在安装时输入正确的安装路径boot:linux repo=nfs:172.16.52.252:/hep/sl-repo/6.3/x86_64/, 其他方法与磁盘安装相同。此方法最大的好处在于能够同时批量的安装系统。

2.2 CS管理系统:

CS核心服务器上配置有DNS、DHCP、LDAP、NTP服务器。他们共同承担着集群的管理和服务功能。CS服务器至少应配置两个网卡, 一个接外网, 实现DNS和NTP功能。另一个连接内网地址, 通过局域网实现对集群的管理。

DNS (Domain Name System) 服务器的查询流程:需要解析服务的Client先查看本机的/etc/hosts;若无结果, 则client查看本地的DNS缓存服务器。对于内网的节点, 只需要在/etc/hosts下添加IP和对应域名即可解析, 对于需要连接外网的服务器需要在DNS/var/named修改相应的A记录映射信息。

NTP (Network Time Protocol) 服务器为集群提供时间同步服务。如果计算刀片间时间不同步, 在实践中会出现丢失作业等错误。NTP server的配置文件是/etc/ntp.conf。用server参数设定上级时间服务器, 语法为:server?IP地址或域名[prefer];IP地址或域名就是我们指定的上级时间服务器, 如果Server参数最后加上prefer, 表示我们的NTP服务器主要以该部主机时间进行校准。我们将NTP server与210.72.145.44中国国家授时中心服务器和1.cn.pool.ntp.org连接, 提供NTP server的同步服务。而其他节点, 通过内网定期与NTP server进行时间同步即可。

基于LDAP的用户管理:LDAP是轻量目录访问协议, 英文全称是Lightweight Directory Access Protocol。LDAP是实现被称为目录服务的信息服务, 这种目录可以将储存在/etc下的group、passwd和shadow文件的信息存储到相关文件下。他就像一个电话簿一样存储用户的密码、用户组等信息。集群中有多台Linux服务器, 如果每台服务器都有自己独立的用户名和密码, 那么记忆和维护这些信息就非常困难。于是, 我们通过利用LDAP, 统一为所有的用户提供密码验证服务来解决这个问题。LDAP服务器的配置成功之后, 可以实现在集群中任一节点登录, 统一认证, 统一管理。这种单点登录, 统一认证的方式, 减轻了工作量, 同时也极大地保证了系统的安全性。

NFS (Net Work File System) :在集群系统中, 一些相同的软件需要安装在所有节点上, 由于节点之间是协同工作的, 节点间存在大量的数据共享, 没有必要在每一个节点上重复安装这些相同的软件。此外, 在执行并行作业的时候, 要求每一个节点都能访问到相应的可执行文件, 对这些可执行文件也需要做一个备份。NFS, 即网络文件系统, 是集群系统中解决上述问题的一个很有效方法。NFS是一种在Linux环境下通过网络共享文件的标准方式, 这种机制是经过网络将远程主机上的分区以及目录挂载到本地系统, 实现在网络平台上与其他人共享文件及目录。5在本集群中, CS核心管理节点作为NFS服务器, 其他节点作为NFS的客户端挂载文件系统。比如我们将/hep/home挂载到每个节点的/hep/home目录下, 这样每台节点都可以使用/hep/home目录下的ROOT V5.3和GEANT等软件。在客户端配置NFS的时候, 可以执行如下命令:vim/etc/fstab并在/etc/fstab文件中输入以下内容:IP:/hep/hep nfs bg, hard, intr, retry=600 0 0这样可以实现在启动时自动挂载NFS目录。

2.3 作业系统的构建:

PBS最初由NASA的Ames研究中心开发, 主要为了提供一个能满足异构计算网络需要的软件包, 用于灵活的批处理, 特别是满足高性能计算的需要, 如集群系统、超级计算机和大规模并行系统。PBS目前包括Open PBS, PBS Pro和Torque三个主要分支。本集群使用的是Torque。PBS组成分为:PBS_server服务器, PBS_sched调度器, PBS_mom执行器。6在管理节点 (pbssrv) 上安装pbs_server, 所有节点上安装pbs_mom, 所有计算节点 (cu101-cu116) 和提交节点 (slxx) 上安装PBS cleint。Server端配置成功之后, 启动pbs_server;pbs_sched;pbs_mom, 并把其写到/etc/rc.local里使其能开机自启动。PBS要正常工作, 还需要通过qmgr命令创建队列等设置。最后在计算节点启动pbs_mom, 把pbs_mom写入/etc/rc.local。PBS作业系统的使用方法是通过将作业脚本提交到PBS服务器和适当的队列, 由计算节点执行并返回结果。

3 网络系统的搭建

集群系统是多节点互联工作, 所以必须通过互联网将节点连接在一起。粒子物理计算集群的网络建设是基于万兆核心交换机和千兆网线互联。计算刀片之间是通过机箱内部交换模块实现万兆互联。节点的网络配置, 是通过DHCP服务器自动获取IP和DNS信息。DHCP服务器安装在CS上, 可以在配置文件/etc/dhcp/dhcpd.conf设置自动分配指定的IP地址给节点, 并且为了更好地管理IP地址, 我们又在网关上对IP地址和MAC地址进行了绑定。集群的网络地址可以分为外网地址和内网地址。所以在Gateway server和CS上, 需要至少有两个网卡, 分别连接内网和外网。而集群内部的节点, 只需配置内网地址即可。

4 总结

本文介绍了山东大学粒子物理计算集群的基本架构和搭建过程。在搭建过程中, 解决了集群的系统监控、用户管理、作业程序的实现、并行化的效率以及高速网络实现等难点, 同等计算能力下, 节约了计算成本和管理难度。同时积累了建设和管理经验, 为下一步集群的升级扩容创造了客观和主观条件。

参考文献

[1]BUYYA R.高性能集群计算:结构与系统 (第一卷) [M].北京:电子工业出版社, 2001.6.

[2]葛慧娟.基于linux操作系统的DNS服务器配置[D].西安电子科技大学, 2005.

[3]王嘉佳.基于目录服务的统一身份认证系统的研究与实现[D].北京交通大学, 2005.3.

[4]Callaghan, Brent NF S Illustrated[M].Massachusetts:AddisonWesley P ublishing Company, 1999.

集群搭建 篇2

近年来,河南科技园区确立了“依托两个载体,加快两大项目改造,全力打造电子信息特色集群”的中心任务。“两个载体”即国家级孵化器和新科技市场,“两大项目”即科技技术创新和基础设施建设。一年来,河南科技园区围绕中心城区市场外迁改造契机,加快实施创新驱动发展战略,强化线上线下全方位融合,实现了以创新提升科技含量,以创业带动产业集聚的服务功能。截至目前,园区入驻企业、商户3048家,其中规模以上企业70家,公司921家,个体商户2127家。园区拥有科技企业72家,高新技术企业5家,55项软件著作权登记,92项自主知识产权。截至6月底,河南科技园区重点项目完成固定资产投资13.557亿元,主营业务收入69.2亿元,比上年同期增长29.9%,税收10145万元,比上年同期增长97.3%。引进市外资金1.858亿元,省外资金1.13亿元。

搭建创新孵化平台中小科技企业集聚加速

河南众诚企业孵化器和郑州金水湾企业孵化器是园区提升科技创新能力的重要载体,承担着园区内信息技术服务、软件开发小微企业的孵化培育任务,是园区创新创业人才培养基地。2010年,由园区管委会主导、河南省电子商会和河南众诚系统工程有限公司共同创办的河南众诚企业孵化器有限公司作为园区第一家民营企业孵化器正式运营。2014年被国家科技部批准为国家级科技企业孵化器。现在孵科技企业52家,其中郑州数景科技有限公司研发的铁路运输计算机信息管理技术体系已通过郑州铁路局科技成果鉴定。河南宅佣软件科技股份有限公司研发的家中购物手机平台宅佣APP、郑州加西亚科技有限公司研发的智能社区充电管理系统等科技创新项目,实现了科技创新服务居民生活的创业初衷。孵化器通过自己的专家团队定期对在孵企业项目进行评审,根据评审结果再决定是否给予重点扶持。如郑州加西亚科技有限公司研发的智能社区充电装置,获得了专家团队的一致认可,并在产品的研发、企业发展规划等方面给予了具体的指导。企业前期投入大,孵化器提供了100万元的资金扶持,同时利用自身资源帮助其开拓市场。目前,加西亚的产品已开始向市场全面铺开。

郑州金水湾孵化器是郑州市科技企业孵化器,该孵化器在运营及创业服务过程中,积累了丰富的孵化器运营管理经验,形成了“创业导师十天使投资”的孵化模式。自成立以来,以创业投资、创业园区建设运营、中小微企业创业服务为核心业务,已在郑州、南京、新乡投资建设了6个创业园区。该孵化器每年成功举办创业培训活动50余场,全国性创业大赛1~2场,极大地活跃了区域内创业氛围,帮扶了一大批有创业梦想的创业者。该孵化器还被河南财经政法大学、郑州大学等多所高校作为毕业生实践基地。

搭建电商服务平台线上线下全方位融合

一是研发ITpar-电子(IT)产品研制及展示交易综合服务平台。该平台包括ITpar电子商务应用平台、科技企业成果转化平台和河南科技园区在线展示平台。实现了园区企业在线展示、查询、交易、支付、配送及科技成果转化功能。现入驻企业8Dg家,月交易额3D0余万元。二是专业市场电子商务平台项目。通过前期多次沟通商洽,阿里巴巴正式与园区确立合作关系,建立电商平台“河南科技市场专业市场”。专业市场电子商务平台已经启动,现阶段正在大力推动该平台的企业入驻工作,目前已入驻近3D0家商户。园区企业河南九洲计算机网络有限公司、河南省金鹏电子商务有限公司被评为河南省电子商务示范企业。郑州伟讯科技有限公司、河南爱梯电脑有限公司、河南宅佣股份有限公司及河南九洲计算机网络有限公司被认定为河南省电子商务企业。

合理规划产业布局

为改善园区创业环境,园区加大固定资产投入,借力“大招商”,大力推进重点项目建设,完善基础设施功能。目前在建项目7个,正弘国际广场、郑州金水万达中心、郑州市数码公园地下公共停车场、郑州建业凯旋广场、正弘数码港三期、硅谷广场、创新大厦二期。项目建成后,园区服务功能更加完善,人才、资金、物流、信息等要素加速集聚,将形成以电子信息产业为主导,带动多个现代服务产业发展的特色集群。

河南科技园区在升级改造中,合理规划产业布局,加快业态模式升级,重点发展电子产品展示交易、电子商务、软件和信息技术。将东风路及文化路两侧区域作为创业区,主要实现中小科技企业的孵化培育及电子产品展示交易功能。在金水科教新城开发建设“新科技市场”项目,一期占地116亩,总投资8亿元,规划建设26栋商务办公楼,目前,项目主体已基本完工。作为园区仓储、物流、孵化企业和规模企业的承接地,主要建设集智能化集成、电子商务、IT物流仓储、创业孵化、产品发布展销中心于一体的研发中心及配套设施。新、老科技市场对接形成一个完整的产业链,整体上协调互补、最终形成中西部地区规模最大、综合实力最强、可持续性发展活力最强的电子信息产业集聚区和物流商务密集区。

河南科技市场建成发展22年,在全国电子街区中位居前列。园区充分发挥品牌效应,借助现有的中国IT价格指数郑州监测站、中国电子科技街发展促进联盟会成员、河南省电子商会的品牌资源,加强对外宣传与交流合作,加大产业集聚力度,园区的知名度、影响力和辐射力得到了有力提升。

河南科技园区的未来发展规划将继续以电子信息产业为主导,以构建创新创业服务平台为载体,强化孵化能力和资源整合能力,大力推进众创空间。未来,河南科技园区将按照河南省委、省政府部署的“走集聚集约内涵式发展路子”要求,以高品质的营商环境、超强的研发能力、完善的配套设施、快捷的配送能力,打造出全国中西部最大的电子信息集群,为郑州市加快现代产业体系构建作出突出贡献!

集群搭建 篇3

目前,大数据已经成为研究热点,在众多大数据解决方案中,Hadoop成为首选,其为Apache基金会的一个开源项目,已经积累了大量用户,在工业界和学术界得到广泛认可,一些国内外知名IT企业如Google、Amazon、百度和淘宝等,纷纷将Hadoop应用在商业领域,许多高校和研究机构也将Hadoop应用到教学和实验中[1,2,3]。

传统Hadoop集群基于物理节点搭建而成,虽然从理论上讲,组建一个Hadoop集群不需要购置昂贵的高性能计算机,仅使用廉价计算机即可[4,5],但是对于高校师生来说,如果采用传统技术构建大数据实验环境,将面临以下问题:(1)集群构建不仅需要大量物理设备,还需要足够的实验场地,而这些资源难以获取;(2)单操作系统物理服务器的性能大多得不到充分利用;(3)基于物理机的局域网组建不易实施,当集群中节点不断增加,集线器、交换机等物理设备也要相应增加,网线布置会显得错综复杂,需要有专业的技术人员来组建局域网[6,7,8]。

虚拟化技术具有众多优势,例如资源复用和迁移技术[9],基于虚拟化的大数据集群可以简化大数据平台的运维过程,提升其资源利用率,避免Hadoop集群带来的成本负担,所以采用虚拟化技术,结合高校云平台,使用云平台的基础设施即服务(Infrastructure as a Service,IaaS)、平台即服务(Platform as a Service,PaaS)和软件即服务(Software as a Service,SaaS)三层服务架构[10,11],在服务器上运行多台虚拟机,利用虚拟机的快照、克隆等技术,能够快速建立一套Hadoop环境,以满足高校师生研究和实验需求。比如,对于专业人士,可以提供虚拟服务器资源,而对于普通师生,只要提供某个已建集群的访问权限即可,从而大大节省了硬件成本,方便管理和维护。

1 相关工作

Google提出的MapReduce编程模型近年来受到业界广泛关注并得到飞速发展,Hadoop则是MapReduce的开源实现,目前已经得到了许多大公司的支持,比如Yahoo、Facebook、Twitter等大数据公司都在使用Hadoop处理海量数据[12,13]。Hadoop系统架构及执行流程图如图1 所示。

图1中,主节点Master作为控制端,运行作业管理器JobTracker和命名管理器NameNode,JobTracker负责MapReduce任务的分配和调度,NameNode则是Hadoop分布式文件系统HDFS的元数据管理器。节点Slave作为任务执行端,运行任务管理器TaskTracker和数据管理器DataNode,TaskTracker负责管理和运行所分配的子任务,DataNode存储实际的文件块并处理相应的读写请求。用户通过作业客户端JobClient提交一个由配置文件和应用程序代码组成的作业包后,JobTracker会对这个作业包进行以下处理:划分(Split)、映射(Map)、重分发(Shuffle)和规约(Reduce),最终输出结果(Output)至指定路径。

上世纪60年代,虚拟化技术诞生,最初被使用在IBM大型机上,后来被越来越多地部署到基于X86架构的PC服务器上。虚拟化技术是云计算的基础,云计算则是一个虚拟化的计算资源池,云计算中使用虚拟化技术解决的是大规模的虚拟化资源管理问题,将虚拟化技术应用到云计算环境中是一个非常值得研究并极具挑战的课题[9,14,15,16]。

石允剑[17]在Hadoop平台下实现了基于云计算技术的高校招生管理系统,但是这里的Hadoop平台是基于四台普通服务器的,一旦业务需求增加,则需要相应地增加物理服务器数量。王业平[18]使用一台笔记本电脑作为Master节点主机,三台台式机电脑作为Slave节点主机,搭建了一个实验用的Hadoop集群环境,进行了小规模关联数据的存储与查询实验,但是文中提出的服务架构和实施方案没有在更大规模的计算机集群中进行验证,如果需要对研究进行客观真实的评价,则必然要扩大实验集群的规模,因此依然存在物理机集群扩展不方便的问题。

林常航[19]和陶永才[20]指出,现有Hadoop集群在异构环境下效率低下,为了优化MapReduce在异构环境下的性能,两位作者分别提出一种基于节点计算能力的数据分配策略和一种自动数据分配策略。其中,自动数据分配策略基于资源性能和任务特征,能够自动确定节点任务槽数,并且为每个节点动态确定不同的数据分配量。上述两篇文献研究的重点在于提高MapReduce执行效率,均基于异构资源环境,如果以单服务器为基础部署虚拟机集群,且集群中的节点均通过克隆方式创建,则整个集群就是基于同构环境,避免了大规模集群中机器性能相差较大带来的资源异构问题。

为了提高大数据集群的可用性,满足高校师生对大数据实验环境的不同要求,本文采用虚拟化技术,结合东华云[21],在单服务器上运行多台虚拟机,利用虚拟机的快照、克隆等技术,建立一套可用于研究和实验的Hadoop环境,节省了硬件成本,方便管理和维护。

2 基于虚拟化的Hadoop集群搭建

2.1 东华云

东华云采用VMWare的vSphere和Citrix的Xen虚拟化技术,目前已经实现了服务器虚拟化、桌面虚拟化和应用程序虚拟化,其中服务器虚拟化已被应用到实验室日常管理中。东华云平台以免费虚拟化软件Vmware ESXi为基础[22],其软件环境如表1所示。

东华云平台每个节点的硬件配置包括1台8T存储阵列(型号为IBM M3100 或DELL MD3200i或HS2600),5台配置为内存32G、硬盘3T的DELLR710服务器和2台千兆三层交换机[21]。东华云平台节点拓扑图如图2所示。

2.2 虚拟机集群创建

虚拟机集群创建在云平台上,在大数据集群配置的虚拟机环境中,单机配置为:处理器类型Intel(R)Xeon(R)双核E5620@2.40GHz;内存容量4GB。Hadoop环境为由4台与单机配置相同的服务器组成的同构资源环境。在集群中的所有服务器上都运行CentOSrelease6.3(Final)操作系统,并安装配置Hadoop-1.2.1。图3、图4分别为云平台上创建的虚拟机集群及其结构图。

2.3 Hadoop安装与配置

Hadoop安装与配置步骤为:(1)配置虚拟机集群中所有机器的hosts文件,记录本机集群中所有机器的IP和对应的主机名,每行记录形式如:192.168.7.167test.master;(2)下载Hadoop和JAVA-JDK压缩包,并解压,同时配置环境变量;(3)完成master节点和所有slave所有节点的SSH免密码登录;(4) 安装Hadoop时,除了需要解压Hadoop,配置其环境变量外,还要为Hadoop创建一个临时文件夹,同时需要对conf文件夹中的一些文件作自定义修改;(5) 重启环境变量文件使其生效:#source/etc/profile;(6)启动Hadoop前,要进行格式化操作,在master节点中执行:#hadoop namenode –format;(7) 启动Hadoop集群所有节点:#start-all.sh。

2.4 集群验证

用jps命令验证是否所有节点Hadoop都已经启动成功,若成功,master节点和slave节点提示信息分别如图5和6所示。

也可以用hadoop dfsadmin-report命令验证是否所有节点Hadoop都已经启动成功,若成功,则提示信息如图7所示。

同样,Hadoop提供通过web端查看集群启动情况,打开浏览器后,在地址栏中输入以下网址:http://Master-IP:IP-Port。其中Master-IP是master节点的静态IP,而IP-Port是Hadoop开放的端口号,为50030 或50070。

3 基于虚拟化技术的Hadoop集群实验

3.1 动态增加节点实验

至此,一个基于云平台的Hadoop集群已经搭建好,其拥有1个master节点,3个slave节点,共计4个节点。通过动态添加节点的实验来验证虚拟化Hadoop集群的可用性。具体实验步骤如下:

(1)克隆虚拟机170-HadoopSlave3,新生成的slave节点取名为171-HadoopSlave4,克隆时,可以直接通过右击被克隆的虚拟机,选择菜单中的克隆,经过一系列简单的向导,最后点击完成即可。

(2)通过ifconfig命令查看新建虚拟机的MAC地址,拷贝下来,同时修改文件/etc/sysconfig/network -scripts/ifcfg-eth0中的MAC地址和静态IP地址:

HWADDR=00:50:56:B4:00:34

IPADDR=192.168.7.171

(3)修改/etc/sysconfig/network文件中的主机名:

HOSTNAME=test.slave4

(4)修改/etc/hosts文件中的主机名和IP对应关系:

192.168.7.167test.master

192.168.7.169test.slave2

192.168.7.168test.slave1

192.168.7.170test.slave3

192.168.7.171test.slave4

(5)配置新建的克隆虚拟机可以通过master节点以SSH免密码登录:

[root@test~]# ssh-keygen -t rsa

[root@test~]#cat~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

[root@test~]# service sshd restart

(6)修改Hadoop的master节点上的/hadoop-1.2.1/conf/slaves slave文件,将每个slave节点的IP作为一行添加至文件中。

(7)启动新增节点:[root@test~]#hadoop-daemon.sh start datanode

[root@test~]#hadoop-daemon.sh start tasktracker

(8)通过web访问master节点,浏览器中输入master节点IP加上端口号5007,查看是否增加了一个状态是Live节点,如图8所示。

从图8可以看出,LiveNodes已经从3变成4了,说明新增的克隆虚拟机被作为新的datanode节点成功加入到Hadoop集群中了。

3.2 TopK算法实现

在海量数据处理过程中,常常需要分析如何找出出现频率最高的K个数,或者从中找出最大的前K个数,这类问题通常称为“top k”问题,而用来解决这类问题的算法,即为TopK算法。本实验针对top k类问题中的具体问题:统计歌曲库中播放次数最高的前K首歌,利用MapReduce编程框架,分别实现了map函数和reduce函数,同时自定义数据类型TopMusicWritable作为最后输出的key值,最后提交到上述创建的Hadoop集群即可。具体实现如下:

(1)实验数据和需求。实验数据样例片段如下所示,从左往右共计5个字段,每个字段分别表示歌曲类型、歌曲名称、歌曲被收藏次数、歌曲被下载次数、歌曲所属专辑名:

以歌曲类型和歌曲名称作为判断标准,统计下载次数前5的歌曲信息。

(2)实验过程。利用MapReduce编程框架,实现TopMusic类和自定义的TopMusicWritable类,其中TopMusic类中主要包含musicMapper内部类、musicReduce内部类、main函数和run函数。TopMusicWritable类中主要包含key值比较函数compareTo和数据序列化函数readFields、反序列化函数write。具体实现如下:

musicMapper内部类中,map函数的输出key值由歌曲类型、歌曲名称两个字段组成,中间用制表符分隔开,value值是歌曲被下载次数,通过编写musicMapper类(该类继承MapReduce框架提供的Mapper类),覆写其中的map方法即可实现。

musicReducer类需要继承MapReduce框架提供的Reducer类,覆写其中的reduce函数和cleanup函数即可。在reduce函数中,对从map传过来的键值对作规约处理,相同key的记录,将它们的value相加,随后加入到TreeSet中即可,reduce任务执行完成后,将TreeSet中的数据写入HDFS中,新生成的文件内容就是最后统计出来的TopK值。

上述TreeSet<TopMusicWritable>可以根据放入其中的对象的键值对进行排序,默认根据key由小到大排序,而程序中用到的key值是一个复合数据类型,所以要在TopMusicWritable类中通过覆写compreTo方法实现排序规则。

最后,编写main函数,作为调用map、reduce的函数入口,在其中要实现job的创建,输入输出目录的设置,以及map、reduce函数的调用顺序。将上述项目打包成JAR文件并上传至集群中,通过hadoop jar命令执行该jar包,启动mapreduce作业即可。程序执行结束后,在HDFS中可以查看最终执行结果,如图9所示。

本节提及的所有代码可在GitHub上下载:https://github.com/princerush/MapReduceTopKMusic

3.3 结果分析

实验说明可以通过虚拟机克隆、修改配置文件等方法,在不关闭正在运行的Hadoop集群的情况下,动态地向集群中添加新的数据节点。另外,在自建的虚拟化Hadoop集群上实现了TopK算法,证明了将虚拟化技术和Hadoop相结合的可行性。

4 结语

集群搭建 篇4

关键词:Hadoop,VMware,虚拟化

1 概述

目前,大数据已经成为研究的热点,大数据的解决方案种类繁多,其中Hadoop作为Apache基金会的一个开源项目,已经积累了大量用户,在业界也得到了广泛的认可,一些知名企业如百度、阿里巴巴、谷歌、腾讯和facebook等,纷纷将Hadoop应用于商业领域。传统的Hadoop集群是基于物理节点搭建的,虽然理论上组建一个Hadoop集群不需要昂贵的高性能计算机,仅需一些廉价的计算机即可[1,2],但如采用传统技术搭建Hadoop集群,就不得不面对一些问题:1构建集群需要大量的物理设备以及足够的实验场地2物理机的性能得不到充分利用;3基于物理机的Hadoop集群组建后,如需增加节点,就要增加新的物理机,需要更大的场地,而且集线器、交换机等物理设备也要相应增加,布置起来比较错综复杂。面对这些问题,如何在?本文对这个问题进行探讨,介绍一下在单机环境中,使用VMware Workstation 10和Cent OS 6.5搭建Hadoop分布式集群并进行简单的测试。

2 Hadoop简介

Hadoop是一种分析和处理大数据的软件平台,是Apache的一个用Java语言所实现的开源软件框架,在大量计算机组成的集群当中实现了对海量数据进行分布式计算。Hadoop的框架最核心的设计就是:HDFS和Map Reduce,HDFS为海量的数据提供了存储,而Map Reduce为海量的数据提供了计算。大数据在Hadoop处理的流程可以参照图1来进行理解:数据是通过Hadoop的集群处理后得到的结果。[3]

Hadoop的集群主要由Name Node,Data Node,Secondary Name Node,Job Tracker,Task Tracker组成,如图2所示:

Name Node:记录文件是如何被拆分成block以及这些block都存储到了那些Date Node节点,同时也保存了文件系统运行的状态信息。

Data Node:存储被拆分的blocks。

Secondary Name Node:帮助Name Node收集文件系统运行的状态信息。

Job Tracker:当有任务提交到Hadoop集群时,负责Job的运行,负责调度多个Task Tracker。

Task Tracker:负责某一个map或者reduce任务。

3 搭建Hadoop虚拟实验平台

3.1 准备与安装环境

服务器准备:安装虚拟机和linux,虚拟机推荐使用vmware;PC可以使用workstation,配置低的话可选择Cygwin,模拟linux环境;服务器可以使用ESXi,在管理上比较方便。ESXi还可以通过拷贝镜像文件复制虚拟机,复制后自动修改网卡号和ip非常快捷。如果只是实验用途,硬盘大约预留20-30G空间。

操作系统:Cent OS 6.5,分区可以选择默认,安装选项默认即可,注意选项里应包括ssh,vi(用于编辑配置文件),perl等(有些脚本里包含perl代码需要解析)。

JAVA环境:到Oracle官网下载java jdk安装包,并且进行安装。

3.2 实验环境

硬件环境:Vmware 10,三台Linux虚拟机:Cent OS 6.5,安装介质:cdh5.4.0。

三台虚拟机配置如表1:

3.3 安装与配置三台虚拟机

3.3.1 准备三台虚拟机

打开虚拟软件VMware Work Station。

点击“文件”->“打开”,找到虚拟机所在目录,打开装有Cent OS6.5的虚拟机。

通过克隆生成新的虚拟机,如图3。

3.3.2 操作系统网络配置

确认三台虚拟机为不同MAC地址,选择“NAT模式”的网络连接方式,如图4。

打开虚拟机,按照表1设置IP地址,然后通过“ifconfig”命令查看网络地址,如图5。

设置完后,root用户用“service network restart”命令重启网络。

图5设置IP地址

根据表1修改三台主机的主机名,修改后系统需重新启动,编辑/etc/sysconfig/network,HOSTNAME=master或slave。

修改/etc/hosts,所有主机添加如下内容:192.168.xx.101 master

192.168.xx.101 master192.168.xx.102 slave1

192.168.xx.102 slave1

192.168.xx.103 slave2

3.3.3 ssh无密码登录配置

三台主机确保关闭防火墙,#chkconfig iptables,#services iptables stop。

关闭SEl INUX,修改/etc/selinux/config中的SELINUX=””为disable。

在所有主机生成密钥并配置SSH无密码登录主机

3.3.4 配置JAVA环境

三台主机分别上传jdk文件到桌面并执行配置

3.3.5 配置集群时间同步

3.3.6 配置yum源

设置虚拟机master,使用ISO镜像文件,如图6。

3.3.7 安装HDFS

3.3.8安装YARN

3.3.9配置HAdoop环境变量

在master配置环境变量,在/root/.bashrc文件添加如下内容

执行如下命令使配置生效,并发送到slave1和slave2#source.bashrc

Hadoop有两类重要的配置文件:

只读默认的配置文件yarn-default.xml,mapred-default.xml。

手工配置文件($HADOOP_HOME/etc/hadoop/目录下):core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml。

另外,还有几个重要的Hadoop环境配置文件:yarn-env.sh,slaves。

下面列出一些需要关注的资源分配参数,如表。

3.3.10启动HDFS集群

通过jsp命令查看进程,确认HDFS集群是否成功启动

登录web控制台,查看HDFS集群状态,http://192.168.6.101:50070,如图7

3.3.11创建HDFS目录

创建/temp临时目录,并设置权限为1777

创建/user用户目录,并设置权限为777#sudo u hdfs hadoop fs mkdir/use

创建yarn.nodemanager.remote-app-log-dir目录

3.3.12启动YARN集群

通过jsp命令查看进程,确认YARN集群是否成功启动

通过Web控制台,查看Resource Manager状态,http://192.168.6.101:8088,如图8。

通过Web控制台,查看Node Manager状态,http://192.168.6.102:8042,如图9。

4测试Hadoop集群

执行结果如图10所示。

5总结

测试结果显示,建立在虚拟机上的Hadoop集群已经可以正常运行,可在上面进行实验和应用开发。本文从简化搭建过程和充分利用机器性能出发,在单机上通过虚拟化软件,虚拟出三台Linux主机,搭建了分布式Hadoop集群。在搭建过程中,有几点需要注意:虚拟机安装时,就要配置好主机的静态IP和主机名,这样可以方便后面的操作;当安装或运行时发生错误,可以查看相应的log文件,这会对找出问题很有帮助。

参考文献

[1]付伟,严博,吴晓平.云计算实验平台建设关键技术研究[J].实验室研究与探索,2013(11):78-81.

[2]张兴旺,李晨晖,秦晓珠.构建于廉价计算机集群上的云存储的研究与初步实现[J].情报杂志,2011(11):166-171,182.

集群搭建 篇5

客户需求—亟需创新方案突破渲染速度瓶颈

渲染速度慢是传统渲染环境下最令动漫创作者头痛的问题, 亦是在本次系统平台搭建中最急需解决的问题。所谓“渲染”, 包括着色和转换, 是三维动画制作中最耗时费力的过程。

据该项目招标负责人介绍, 在新的渲染平台搭建之前, 该动画学院在动漫创作过程中, 渲染工作首先要在独立的单机上进行分层渲染, 后期再采用图层合并的方式进行, 由于数据量大, 渲染速度缓慢, 严重降低了工作效率。

方案描述—集群工作模式统一分配分段渲染

在此套解决方案中, 系统中的客户端将准备渲染的三维场景文件提交给集群渲染服务器, 渲染服务器将任务发送给系统中的任意节点进行渲染, 渲染完成后节点再将文件返回渲染服务器, 统一由渲染服务器把视频信号输出到视频设备 (如Beta Cam、DVD制作设备和打印机) 或者三维/视频工作站。此方式可大大加快系统进行渲染的速度, 满足客户需求。

与其它行业的应用不同, 采用集群渲染方式的渲染平台对服务器有着更高规格的要求, 用户在使用3D设计类软件进行创作时, 计算机主要进行的是浮点运算, 因此, 浮点运算性能出色的处理器是渲染工作效率提高的前提。为此, 工程师经过慎重选择决定采用41台高性价比的华硕RS161-E4服务器组成渲染集群。考虑到保护客户已有投资, 工程师还沿用了客户现有PC机作为客户端连入系统, 最大程度地节省用户投入。

在项目运作的过程中, 基于华硕RS161-E4搭建的集群渲染平台可提供Vray联机分布式并行渲染 (Distributed Rendering) 和渲染集群 (Render Farm) 两种工作模式, 当负责材质贴图、灯光的调整的制作人员不断调整参数, 需要实时查看渲染结果时, 可使用Vray联机分布式并行渲染 (Distributed Rendering) , 缩短渲染时间, 提高工作效率, 而在进行动画序列帧渲染时, 渲染工作只需改作利用Frantic Films Software的Deadline进行管理即可。这样一来, 整个创作过程中集群渲染平台硬件设备得到充分运用, 工作效率大幅提升, 同时保护了用户投资。

华硕RS161-E4是华硕推出的一款基于AMD处理器的服务器精品。该产品基于改进后的AMD SOCKET F 1207针接口处理器平台, 采用n VIDIA n Force Professional 2200芯片组, 支持双AMD Opteron 2000系列处理器, 在64位运算环境下, 可为用户应用提供更高的系统效能;该产品同时支持Direct Connect架构、AMD64及AMD Virtualization (AMD-V) 技术, 可在极大提升服务器整体性能的同时大幅度降低系统功耗, 从而全面提高服务器的功耗比。

华硕RS161-E4支持双通道DDRII 533/667内存, 与DDR400内存相比, DDRII的内存效能得到极大提升, DDR2-667的性能甚至可达到DDR400内存的130%以上, 同时该产品板载8根内存插槽, 最大可扩充至16GB, 超大的内存容量可满足集群渲染过程中对内存的需求。

在集群渲染的过程中, 系统平台中的任何一台服务器出现宕机或其它不稳定情况都会对渲染工作造成影响甚至数据流失, 因此, 与单机渲染相比, 集群渲染系统对服务器稳定性的要求更高, 而华硕RS161-E4采用业界领先的散热技术、热插拔技术及容错技术可最大限度地保障系统稳定和数据安全。

华硕RS161-E4集成两条PCI-E x16插槽 (x16 Link) , 用户可根据自身需求安装多种类型的显卡及2D、3D绘图卡, 满足日后渲染平台扩展的需要;而其内建的Broadcom PCI-Express Gb E LAN可提供稳定的专业级网络传输速率, 保证渲染集群内部的传输速度。

特别值得一提的是, 华硕RS161-E4附带华硕自行研发的网页式管理软件ASWM (ASUS System Web-based Management) 2.0, 可以实现远程监控、管理服务器, 包括CPU、内存硬盘使用率、风扇转数、操作系统、网络卡及其它运作状态, 该软件不仅功能强大, 且容易操作, 在节省整体购机成本的同时大大提高了网管人员的管理和维护的效率, 为用户带来极大的方便和实惠。

客户收益—高效稳定用户畅享高速渲染

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【集群搭建】相关文章:

搭建05-07

搭建支架05-06

会展搭建合同05-27

驿站搭建方案04-10

布展搭建合同04-12

搭建车棚请示04-14

搭建写作支架05-19

搭建心灵家园05-27

网上监管平台搭建07-19

学术论坛平台搭建07-21

上一篇:词汇来源下一篇:城市安全因素