5.4 将OpenStack部署到Hadoop
随着一些企业开始同时利用云计算和大数据技术,现在应当考虑如何将这些工具结合使用。在这种情况下,这一平台将实现最佳的分析处理能力,同时利用私有云的快速弹性 (rapid elasticity) 和单一租赁的特性。现在提供以下方法:
方案1. Swift+Apache Hadoop MapReduce
在私有云环境中,常见的大数据部署模型之一是:将 OpenStack 的 Swift 存储技术部署到 Apache Hadoop MapReduce 集群,从而实现处理功能。使用这种架构的优势是,系统将获得一个可扩展的存储节点,可以用该节点来处理其不断累积的数据,该解决方案将满足不断增长的数据需求。
方案2. Swift、Nova + Apache Hadoop MapReduce
如果希望在大数据环境中实现更高程度的灵活性、可扩展性和自治性,可以利用 Apache 和 OpenStack 提供的开源产品的与生俱来的能力。为此,需要最大限度地利用这两种技术栈,这就要求采用与前面所述的解决方案不同的思维方式来设计环境。
要获得完全可伸缩的、灵活的大数据环境,必须在一个同时提供存储和计算节点的私有云环境中运行它。为此,必须先构建私有云,然后添加大数据。因此,在这种情况下,必然会用到 Swift、Nova 和 RabbitMQ,并控制器节点来管理和维护环境。如果准备完全使用私有云,那么应当添加 Quantum,从网络的角度对不同的环境进行划分。
在设置并测试了私有云环境后,可以将 Apache Hadoop 组件合并到其中。此时,Nova 实例可用于存放 NoSQL 或 SQL 数据存储以及 Pig 和 MapReduce 实例;Hadoop 可以位于一个独立的非 Nova 机器上,以便提供处理功能。在不久的将来,Hadoop 有望在 Nova 实例上运行,使私有云自包含到所有 Nova 实例中。
5.5 OpenStack小结
由于OpenStack是一个极为复杂的云计算平台,对其组件的理解、自定义修改十分困难,本人在有限的时间只是搭建好OpenStack平台,并未将其与Hadoop结合使用,希望在未来的时间继续学习并部署这一优秀的平台。
6. 主要成果和结论
本小组在接近一年的时间内,利用课余时间,对课题《基于分布式存储的实验数据采集和管理系统》进行了充分的实践,主要完成了以下工作:
1、
通过讨论如今火爆的“大数据”和“云计算”,以及查阅了分布式文件系统的相关资料,对于想要搭建的系统提供了依据;
2、
对Hadoop官方文档进行阅读,并在虚拟机上搭建了Hadoop伪分布式系统;
3、
基于Hadoop平台,使用MapReduce算法,对一些基本的数据处理算法进行了实践;
4、
在Hadoop上继续拓展,搭建了云计算平台openstack,可以提供一些功能更强的服务。
结束语:想要搭建一个完整的数据系统是十分复杂的,过程也是十分艰难的, 在商业上,不少公司(例如国内著名的阿里巴巴、百度和腾讯)都拥有一套自己的数据采集、处理以及管理系统,这套系统靠着一群优秀的工程师进行维护。而本次为实验数据服务的数据系统,对于小组人员来说也是一大挑战,需要身后的理论基础和丰富的实践经验,作者的知识水平还远远不够,查询了大量资料,在老师的帮助下,终于做出了合理的平台搭建和数据实践,验证了数据存储和处理的可靠性,使自己得到了很大的锻炼。
参考文献:
[1] Philip S Yeager.《A distributed file system for distributed conferencing system》.[CP/OL].[2003].