探索中国CIO人才现状 | 第四季调研报告
Hadoop虚拟化将引领数据存储的发展
2013-08-01  作者:企业网 

  大数据时代,Hadoop将会会大规模部署于企业之中。VMware新的vSphereBigDataExtensions(BDE)将其开源项目Serengeti商业化,使企业管理员能够随心所欲地玩转虚拟Hadoop集群。


  现在,VMware已经明确表示,将要全力支持虚拟化Hadoop在企业vSphere环境中的工作负载。


  然而,Hadoop的所有工作是在大量的分布式数据之上智能地映射并行计算工作。群集部署和操作对虚拟化管理员来说变得非常容易。但在虚拟环境中存储可以有效地从计算客户端抽离,设计底层存储架构时有一些重要的复杂性和机会需要考虑。在虚拟环境中运行Hadoop的一些具体问题,包括考虑如何配置虚拟数据节点,如何最好地利用hypervisor服务器的本地DAS,以及何时考虑利用外部SAN/NAS。


  大数据,虚拟化


  虚拟化Hadoop背后的主要思想,是获得以虚拟机部署Hadoopscale-out(横向扩展)节点的优势,而不是折腾商品化的物理服务器。集群可以按需置备,弹性扩张或收缩。多个虚拟Hadoop的节点可以托管在hypervisor物理服务器,虚拟机可以很容易地为一个给定的应用程序分配更多或更少的资源。hypervisor级别的HA/FT能力,可以被带到承担生产的Hadoop应用程序。VMware的BDE甚至包括QoS算法,以帮助动态排序集群优先级,必要时收缩低优先级的集群,确保高优先级的集群的服务水平。


  显然,虚拟化Hadoop的大问题之一性能。Hadoop的价值在于它如何有效地执行分布式数据块上的并行算法。Hadoop的优势,使用HDFS(Hadoop分布式文件系统)将大数据散布在多个节点,然后将并行计算任务放到每个数据节点进行初步的处理(MapReduce的“映射”部分由作业和任务跟踪器实现)。


  这个设计,每个scale-out物理节点,承载本地计算和数据共享,意在支持如搜索这样的应用。这些应用可能经常需要抓取大量大型数据集的所有数据,这些数据集通常由低水平半或非结构化的文本和文件构成。


  一般情况下,每个HDFS数据节点将由hypervisor直接分配物理主机服务器的DAS磁盘。然后HDFS将在数据节点上复制数据,默认复制两份到不同的数据节点上。在一个物理集群上,副本由定义放置在不同的服务器节点(每台服务器一个数据节点)。HDFS也知道,将第二个副本放在不同“机架”的节点,以帮助避免机架级的损失。


  在虚拟化的世界中,Hadoop必须意识到虚拟节点的hypervisor分组,以保证良好的物理数据布局和后续工作/任务分配。这个虚拟的认识是通过HadoopVirtualExtensions(HVE)实现,VMware将其贡献到ApacheHadoop1.2。


  HadoopVirtualExtensions


  HadoopVirtualExtensions打破了应用和物理主机之间的虚拟抽象。但在某些方面,Hadoop平台可以看作是虚拟化的另一层,增加横向扩展的数据和计算管理到hypervisor。


  HVE本质上是在Hadoop层级的节点和机架之间插入一个新级别的“节点组”。节点组代表了一套虚拟的Hadoop节点,在每个给定的hypervisor服务器上,帮助告知Hadoop和HDFS管理算法。


  其效果是,即使在虚拟环境中,Hadoop也可以保持“数据局部性”的知识,以保持计算任务靠近所需的数据提高性能,并为容错确保最佳的复制位置。