虚拟化为Hadoop注入了前所未有的活力,从IT生产管理的角度,表现为以下几点: ·Hadoop和其他消耗不同类型资源的应用一起部署共享数据中心可以提高总体资源利用率; ·灵活的虚拟机操作使得用户可以动态的根据数据中心资源创建、扩展自己的Hadoop集群,也可以缩小当前集群、释放资源支持其他应用如果需要; ·通过与虚拟化架构提供的HA、FT集成,避免了传统Hadoop集群中的单点失败,再加之Hadoop本身的数据可靠性,为企业大数据应用提供了可靠保证。 基于这些原因,vSphere Big Data Extensions(BDE)为用户在虚拟化环境中灵活的部署和管理Hadoop集群提供了有效的支持。除却这些优势,虚拟化是否会伤害Hadoop运行的性能呢?为此,我们在同等规模上做了虚拟化部署和物理部署的Hadoop集群的性能对比和优化,实验表明虚拟化Hadoop集群可以很好地支持生产环境。 虚拟化环境和物理环境的性能对比 图1显示了性能调优试验的部署样式,一台物理服务器上只部署一台虚拟机,Tasktracker和Datanode一起跑在同一个节点中。因为每个虚拟节点可以使用全部的服务器资源,方便进行虚拟化和传统物理环境部署的Hadoop做性能对比和分析。试验结果在图2中显示,虚拟化Hadoop相对于物理环境的性能对比几乎是持平的。 图1:性能对比部署 图2:Apache Hadoop 1.2物理部署和虚拟化部署的性能对比 图3显示了更推荐生产环境使用的部署拓扑,一台物理服务器上部署多台虚拟节点。如图2所示,这种部署将增加资源利用率从而得到更高的性能。 图3:多虚拟机的部署 同时,我们把这些实验经验内嵌到vSphere BDE部署的Hadoop集群系统配置当中,屏蔽了性能优化的复杂性。虽然不同的数据中心设置和集群配置可能带来不同的表现,这里按照创建、配置、扩展Hadoop集群的顺序跟大家分享一些通用的经验: |