VMware筹备Serengeti项目 意欲推出Hadoop虚拟工具

作为一家像VMware这样的服务器虚拟化供应商,其眼中恐怕没有哪种工作负载不能(或者说不应该),被以抽象形式剥离底层硬件、从而使其变得更具可塑性与便携性。从这个角度出发,VMware理所当然地把Hadoop作为下一个进军目标——顺便赚点经济回报。

过去几年,VMware一直建议称Hadoop不应运行于x86服务器裸机当中。直到一年前,VMware的这种言论才有所止息,并开始着手通过代号为Serengeti的项目开发一整套工具,旨在最终加快Hadoop的部署与实施速度。

Serengeti项目最初亮相于去年六月的Hadoop World大会,它采用Spring Java框架(目前已经归EMC与VMware的子公司Pivotal所有)。这套框架由Java编写,专门用于Hadoop调整工作。

服务器虚拟化技术在效率方面的优势可谓众所周知,而且目前已经被广泛应用于企业级数据中心领域。Hadoop方案的效果却未得到如此广泛的认同,这主要是因为与其它以CPU利用率为主要难点的通用服务器工作负载不同、大数据处理有着自己的一套资源要求。大家都知道,Hadoop对于I/O及存储容量的要求更严苛(CPU要求则相对较低),因此提高CPU利用率无法给Hadoop方案带来任何帮助;事实上,这可能反而会扰乱Hadoop集群节点中磁盘驱动器与CPU核心间的平衡关系。

不过虚拟化技术却正是解决这一难题的良方。它不仅能够维持计算与存储之间的平衡,而且能够取代处理数据所需要的庞大物理设备——这将显著提升企业的运营效益,也正是虚拟化技术的最大优势。

将Hadoop集群中的管理、查询、数据抽象工具以及各种节点设备汇总在同一套虚拟机系统中绝对是个好语音,这样一来整个体系将可以像其它虚拟基础设施一样实现复制与故障转移功能。而对开发人员来说,Serengeti项目则足以帮助他们将整套虚拟Hadoop集群安装在单一物理设备上,从而简化编码、测试等流程,何乐而不为呢?

Serengeti项目概述

更重要的是,我们可以通过对Hadoop进行虚拟化将工作负载转移至其它虚拟化服务器池当中,从而使Hadoop集群使用与网络、应用以及数据库相同的基础设施,这对于企业用户接纳新生方案来说意义非凡。El Reg网站去年就曾撰文指出,优秀的虚拟化Hadoop集群应用将拥有两套不同的Task Tracker与JobTracker节点,从而实现两套不同Hadoop集群共享同一组数据节点,并与单一NameNode协同运作。

NameNode是帮助Hadoop分布式文件系统实现对整个集群内非结构化数据块追踪任务的关键所在;它类似于磁盘驱动器中的文件分配表。一旦失去NameNode,我们就失去了整个HDFS;正如没有FAT,也就没有磁盘驱动器上的数据一样。

举例来说,大家可以让一号虚拟集群使用物理节点上的一组副本数据而让二号虚拟集群使用另一组数据,这样整个集群的数据吞吐量就瞬间翻了一倍。

VMware筹备Serengeti项目 意欲推出Hadoop虚拟工具

Serengeti项目结构图

Serengeti项目不仅了解如何对核心Hadoop服务器进行虚拟化及复制,在处理HDFS之上的HBase数据库仓储系统方面同样得心应手。它能以主动及热备份副本方式处理HMaster节点的数据仓储内容,更能在数据仓储与HDFS相结合时实现HBase RegionaServer的向外扩展。这些功能都已经在今年四月Serengeti 0.8.0版本中出现。

现在,VMware正加紧时间将Serengeti投付生产。在今天于圣何塞举办的Hadoop峰会上,虚拟化巨头将公布一套ESXi管理程序子集的测试版本以及名为Big Data Extensions的vSphere插件(这是第一款针对Serengeti的商用支持方案)。VMware公司产品管理高级主管Fausto Ibarra在接受El Reg网站采访时指出,Big Data Extensions将以免费形式出现在vSphere的下一个版本中——“免费”这个词从VMware嘴里说出来可有点新鲜。预计vSphere新版本(可能是5.2)将在8月底的VMworld大会上亮相,并于秋末正式上市。

大家可以点击此处下载该插件,并将其与ESXi及vSphere 5.1配合使用。

根据Ibarra的说明,商用Serengeti软件无需VMware的分布式资源调度(简称DRS)插件的支持即可直接与ESXi或者vCenter控制机制协作,从而在HDFS及HBase上实现弹性功能。但配合DRS,“它将可以更好地发挥作用。”其中含义目前尚不明确。

Big Data Extensions已经确定可与开源Apache Hadoop 1.2堆栈、Cloudera CDH 3.X与4.2、MapR 2.1.3、Hortonworks Data Platform 1.3以及Pivotal 1.3全系列并行协作。

零售商、高科技客户以及金融机构已经开始使用该项目

Ibarra同时指出,有趣的是客户们已经开始通过两种途径接纳Serengeti。那些对ESXi较为熟悉的客户利用它对服务器进行虚拟化,从而将Hadoop引入虚拟存储池。而另一些拥有物理Hadoop集群的客户则开始尝试利用VMware的管理程序及工具对Hadoop及其它工作负载进行虚拟化。

Ibarra并未透露将Serengeti作为原型方案或引入生产系统的企业客户的具体数量,但大型零售商、高科技产品制造商、金融服务企业以及新兴企业已经开始在商业版本推出之前着手尝试。

鉴于Hadoop的开源特性,Serengeti在起步阶段的表现至关重要。开源项目对于客户往往具备强大的吸引力,而Hadoop发行商Hortonworks、Linux发行商红帽以及OpenStack云控制器发行商Mirantis已经准备联手推出Svanna项目,旨在以OpenStack及KVM管理程序为基础实现Hadoop虚拟化。

除了带来生产级Serengeti工具前瞻之外,VMware还将在今天公布大型大数据处理方案Pivotal HD 1.0发行版,这是VMware开发的首个支持Hadoop Virtual Extensions(简称HVE)代码的商用版本,可以算作赠予Apache Hadoop项目的一份厚礼。HVE不仅能使Hadoop模块实现虚拟化识别能力,更是Serengeti良好起效的必要前提。

下面我们通过实例看看HVE的工作机制。如果大家在Hadoop集群中拥有两个虚拟数据节点,且二者处于同一台物理服务器当中,那么它们彼此能够识别出对方的存在;这意味着它们可以通过内存总线进行通信,从而获得比传统虚拟化网络端口更快的沟通速度。

再来看另一个例子。Hadoop习惯为数据块保留三份副本,这主要是出于性能及可靠性的考量。HVE会将其中两份数据副本保存在同一台物理服务器当中,但对于第三份副本则会刻意保存在另一台位于其它机架中的服务器端。

Ibarra表示,HVE代码是Apache Hadoop项目的一部分,所有发行版都将在未来几个月内将其纳为自身方案的组成部分。我们还不清楚HVE会对Savanna项目造成何种影响,但它也许能够以相同的方式与KVM及OpenStack相对接。

通过上周MapR Hadoop发行版及数周前Cloudera的认证,Pivotal HD 1.0已经确定能够运行在ESXi环境下。目前Hortonworks发行版是否受到支持还没有定论,但鉴于Savanna项目与Serengeti/BDE的竞争关系,二者之间恐怕很难携起手来。