Hadoop虚拟化扩展(HVE)之资源扩展技术

背景

在虚拟化的云环境中,Hadoop可以有更好的“弹性”,这是云计算的一个重要优势,例如亚马逊的EMR(ElasticMapReduce)服务, 用户可以迅速的在云中根据需求部署一个Hadoop集群,运行计算任务,并且用户可以向集群动态的添加或删除计算节点。

这里存在着一个潜在问题,Haodop的数据节点并非天生的“有弹性”,删除一个数据节点意味着需要重新复制存储在这个节点的数据,这是一个缓慢的过程,并且占用网络带宽。

Hadoop虚拟化扩展(HVE)之资源扩展技术

图1:存储计算分离

存储计算分离可以很好的解决这个问题,如上图所示,我们可以静态的为每个物理结点部署一个数据节点,动态的部署和调整每个物理节点上的计算节点。另外可以利用虚拟机更好的隔离性,为每个租户提供单独的计算节点,提供多租户(Multi-Tenancy)服务。

HVE的资源扩展技术就是对Hadoop计算层的扩展,通过增加Hadoop垂直扩展和水平扩展的动态性,配合资源共享,最终达到优化资源利用的目的。

技术

资源过量配置(Resource Overcommitment)

虚拟机之间的资源共享通常是通过资源过量配置来实现的。大多数的虚拟机Hypervisor,比如VMware和Xen,都支持资源过量配置。以VMware ESX为例,他允许为每个虚拟机配置预留资源(Reservation),最大资源(Limit)和共享(Share)来控制同一物理机上多个虚拟机之间的资源共享,以及资源不足时的分配策略。

Hadoop虚拟化扩展(HVE)之资源扩展技术

图2:资源过量配置

有了这个技术,多个应用之间就可以共享资源,比如在其他应用繁忙的时候,可以使Hadoop计算节点少占用一部分资源,而在其他应用空闲的时候,Hadoop节点可以分配到更多资源。

相关阅读

相关推荐