基于OpenStack的大数据平台搭建方法的研究
2016-12-21刘涌韩伟高震宇
刘涌+韩伟+高震宇
摘要:《基于OpenStack的大数据平台搭建方法的研究》主要通过对OpenStack重要组建的功能的分析,研究相关大数据平台的搭建方法,简单介绍了OpenStack的Swift、Quantum、Nova等三大功能模块,并重点介绍了OpenStack单节点部署中Swift的简单安装流程。研究表明OpenStack具有广阔的市场前景的同时,目前仍存在安装比较繁琐,模块化集成度不高,入门起点较高等问题,表明该技术在市场潜力巨大的同时,具有较高的研究价值。
关键词:OpenStack;Swift;quantum;Nova
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)28-0014-02
1 概述
随着云计算的推广与普及,人们对大数据、云计算的接受度越来越高,并且愿意尝试使用云计算,从而实现利用新技术合理地管理、统计自己的数据。在云计算的众多处理方案中,OpenStack作为目前最流行的云堆栈之一,是美国国家宇航局(NASA)和Rackspace合作开发的意在为公有云和私有云提供软件支持的开源项目。
2010 年OpenStack首次发布第一版(Austin版本),之后陆续发布了Bexar、Cactus等基于Amazon的API接口的版本,从之后的Diablo版本开始,OpenStack更加强调模块化与灵活性,但由于该版本的bug较多,不建议以Diablo为基础进行二次开发。经过Essex版后,最终Folsom版的出现标志着OpenStack开始真正成熟,其中的Nova、Swift和Quantum为OpenStack的三大组件,分别负责云计算、云存储和网络虚拟化,下文将重点介绍这三大组件的功能与安装方法。
2 模块功能简介
OpenStack通常由Keystone安全认证服务、Swift存储服务、Glance镜像服务、Quantum虚拟网络服务、Nova虚拟机管理系统和Dashboard Web界面六大模块组成,每个模块相互独立,通常搭配MySQL来提供数据服务:
2.1 Swift存储服务
Swift是OpenStack云存储服务的重要组件之一,它具有高可用性、持久性、分布式和大文件存储等特点,在倡导绿色节能的云计算前提下,它支持一系列的价格便宜的硬件存储设备,即最大程度地将运行成本降低,这也是整个OpenStack的魅力之一,诸如Dell、Intel、IBM、Cisco等公司之所以大力推广OpenStack,经济因素也是重要的参考要素。
Swift主要有三种服务器:Authentication Node认证节点、Proxy Node代理节点和Storage Node存储节点。其中Authentication Node认证节点尽在用户想要单独使用Swift时提供认证服务,在OpenStack中一般采用Keystone认证;而Storage Node存储节点根据则根据存储对象的不同,分为Object Server对象服务、Container Server容器服务和Account Server账户服务三种,通常在部署Swift的时候这三种都会在存储节点上运行,若硬件配置相同,则三种的地位也是相同的。
2.2 Quantum虚拟网络服务
Quantum作为一个代理并不提供任何实质的网络资源,它仅负责链接虚拟机与物理机,以及虚拟机之间的通信。其主要任务主要有三条:
1)在底层调用第三方软件,搭建虚拟网络环境从而实现GRE隧道和VLAN虚拟局域网等,这种利用软件来实现物理交换的方式,较之传统的物理网络搭建而言,无疑更加的灵活,成本也更加低廉;
2)通过数据库对虚拟网络进行维护,比如通过定义一系列的维护规则,定时同步本地端和数据库端的数据是否一致,保证诸如DHCP等服务的正常运转;
3)利用RESTful API服务实现监听Nova,执行查询与管理操作,从而调用虚拟网络资源。
2.3 Nova虚拟机管理系统
在整个OpenStack架构中,Nova可以说是最为核心的模块,云计算的运行本质就是利用虚拟机实现资源的管理,而Nova正是一个虚拟机管理系统,在大多数的概念中,Nova的简单功能说明就是:计算。即相当于一台主机的CPU。云计算作为一个划时代的先进理念,其核心就是更高效的利用物理资源,即CPU、磁盘存储、内存等,利用有限的物理资源更加有效地管理、存储、交换信息资源,Nova就是这一整套系统的大管家。
Nova的作用,在于和OpenStack的其他每一个模块进行配合从而分别实现相应的配置、管理,诸如:
l 通过MySQL实现数据库的建立与维护;
l 通过Keystone完成安全认证服务;
l 通过Glance、Swift完成虚拟机映像存储服务;
l 通过Cinder完成虚拟机块存储服务;
l 通过Quantum完成虚拟网络服务;
l 通过Dashboard完成网络UI用户界面管理服务。
2.4 其他服务
除了以上三大组件,OpenStack还包含了若干其他服务,如提供安全认证的Keystone服务、提供镜像服务的Glance服务、提供块存储服务的Cinder、提供UI界面的Dashboard等,以及更多的可以和Swift、Quantum、Nova搭配使用的第三方软件、API等,几乎每一种服务都起着不可替代的重要作用,在此不逐一赘述。
3 OpenStack平台搭建指导
Folsom版的OpenStack较之早期的版本,功能强大、运行稳定、可以有效地利用资源、合理地管理数据,但作为一个复杂的新兴技术,OpenStack的普及仍然任重道远,关键问题是OpenStack的搭建与维护尽管已经尽量的简易化,但仍然需要较高的专业能力与知识基础,并掌握一系列相当复杂的安装步骤。
OpenStack平台的搭建在基本熟练使用Linux操作系统的前提下,仍需注意两点:一、由于涉及到各个模块的搭配使用、账户的安全管理、数据库的调用等,因此需要严格按照安装步骤逐个先后安装,否则可能会造成各模块间的不匹配;二、每一个模块都或多或少的涉及到多个插件的安装以实现该模块的整体功能。
3.1 Swift安装前准备
作为一个经过缜密开发的系统,除各个模块因个性功能特点造成的不同外,OpenStack的通用安装步骤基本一致,下面仅以Swift的安装为例,简单介绍一下OpenStack单节点部署中的相关安装步骤:
在安装部署Swift前,首先须准备好所有相关的安装包,确立好合理的安装目录,设置好主机网络并成功创建虚拟机,在正式开始安装OpenStack后需要确认MySQL和Keystone等服务均安装正常。
3.2 Swift安装步骤
1)配置localrc文件
参考下列代码设置主机名、密码、保存路径等:
SWIFT_HOST=pyonline
SWIFT_NODE_IP=127.0.0.1 #单节点部署可用自循环IP地址
KEYSTONE_SWIFT_SERVICE_PASSWORD=pypassword
SWIFT_DISK_PATH=/dev/vdc
2)安装Swift Proxy服务
安装目录下执行命令./swift-proxy.sh
3)设置Swift分区
建议在前期创建虚拟机时准备好/dev/vdc目录,包括后续模块所需目录统一进行创建可较好避免遗忘某一目录或造成目录分配、命名、设置不合理。
4)安装Swift Storage服务
安装目录下执行命令./swift-storage.sh
3.3 Swift后续安装组件
安装完Swift后,可通过/var/log/swift查看日志文件检查服务运行是否正常,或通过客户端命令swift stat检查是否出现问题。在正确安装后,后续可继续安装Glance、Quantum、Nova、Dashboard等,最终可通过登陆Dashboard检查OpenStack是否安装配置正确。
4 结束语
单节点部署的OpenStack具有占用资源少、维护管理简便、网络结构简单、调试简洁等优点,但实用性较差且扩展困难,为了更贴近于真实应用,满足实际需求,在实际部署中常常进行多节点部署的方式,但这种方式较之前者部署和维护都更加的复杂。
在云计算日益流行的今天,对OpenStack的需求与应用必将日益加大,随之而来的将是其诸多缺点的暴露,如模块化仍不完善,部署过于复杂,算法仍需进一步改善等,但相信这种高效、节能的管理技术必将逐步发展成熟,未来的OpenStack将更加简洁,让更多的人能够管理属于自己的一片云。
参考文献:
[1] 张子凡. OpenStack部署实践[M].北京:人民邮电出版社,2014:1-364.
[2] 鲍亮,李倩. 实战大数据[M].北京:清华大学出版社,2014:1-327.
[3] 吴萍,朱晴婷. 算法与程序设计基础(Python版)[M].北京:清华大学出版社,2015:30-270.