1. 大数据虚拟机集群风险点
大数据虚拟机集群主要风险点在以下几方面:
1.1. 性能方面
1、集群整体性能降低。对TBDS产品在同等配置物理机与虚拟机实际的性能测试对比表明,虚拟机整体性能较物理机下降约40%左右;
2、虚拟机集群计算能力极大地降低。TBDS采用分布式计算框架,需要通过大数据集群的多个主机分担执行同一个计算任务,主机的CPU、内存和磁盘I/O能力越强则处理性能就越快。虚拟化技术把服务器物理资源虚拟化成多个逻辑资源,不仅没有提升大数据集群的CPU、内存和磁盘的I/O能力,而且hypervisor等虚拟化处理还会带来额外的资源消耗,致使单台物理服务器的处理性能会下降10%左右;
3、虚拟机无法利用分布式原有技术优势。TBDS提升性能的关键是尽量利用各自主机的本地计算资源和本地硬盘资源进行分布式计算,避免各主机之间进行大量的数据重分布,采用物理机数据分布可控,SQL执行、优化可控,如果采用虚拟机,数据分布无法保障和物理机一致的分布,导致物理机原本不需要重分布的数据也会做重分布,从而导致CPU、IO更加繁忙,SQL性能在极端情况下会下降2倍以上。
1.2. 稳定性方面
1、虚拟机稳定性远弱于物理机。虚拟机本身是软件,虚拟机自身也会出BUG。
2、物理机宕机,影响上层虚拟机将全部不可用。物理机有硬件需要升级时,升级出现问题将影响上层虚拟机的运行。
1.3. 可扩展性方面
虚拟机集群无法支持计算和存储的线性扩展。共享存储或统一存储在多虚拟机并发读写时会面临严重的I/O冲突问题,集群主机规模将受到限制。
1.4. 数据安全性方面
使用虚拟机数据安全性无法保障。TBDS在物理机部署的情况下,主副本分布在不同的物理机上,从而保障一台物理机宕机的情况下,在其它物理机上有可用副本,而使用虚拟机方式部署副本,可能部分数据的主、副本会在同一个物理机上,这样就失去主副本高可用的作用,极端情况下一台物理机故障会导致整个集群数据不完整,从而导致集群不可用。
1.5. 开发和运维成本方面
使用虚拟机会导致开发运维成本数倍增加。在同等物理资源需求的情况下,虚拟机数量会是物理机的2-3倍,原本1个物理集群需要拆分成2-3个集群,集群间会有大量数据传输,一方面业务开发复杂度会大幅增加,另一方面运维成本也会多出2-3倍。
2. 结束语
大数据对计算能力、存储资源、可扩展性都要求很高,单台物理服务器的CPU、内存和存储资源不足以支撑TBDS对数据存储容量和计算效率的要求,要求把多台服务器构建统一的集群进行分布式存储和计算,即N:1。而虚拟化技术以提升资源利用效率为目标,把一台物理服务器CPU、内存和存储等资源虚拟化成多组逻辑资源,即1:N。虚拟化1:N的技术特点实际上与大数据集群N:1的技术要求相背离,虚拟机构建的大数据集群处理性能、稳定性、可扩展性、数据安全性、开发和运维成本等方面都会在实际生产环境中遇到较多问题。
综上所述,对大数据量和高性能要求的生产环境,建议采用物理服务器集群部署大数据;对于小数据量、性能要求不高的实验环境,可以采用虚拟机集群部署大数据。