大数据集群在物理机与虚拟机部署分析

1、摘要

云计算虚拟化的主要一个目的是解决资源利用率问题,即把利用率较低的物理资源虚拟化成多个更小的逻辑资源,按需分配给多个应用,提升资源的使用效率;大数据技术对资源的需求与虚拟化技术方向正好相反,单台物理服务器资源无法满足大数据对存储容量和计算性能的要求,需要多台物理服务器资源组成集群实现分布式框架来提升储存容量和计算能力,本文将重点分析大数据集群部署在物理机和虚拟机的性能差别。

Hadoop是一个运行于大规模集群上的分布式并行计算框架,其核心技术包括:分布式存储(HDFS)和分布式计算(MapReduce)。

HDFS是建立在Linux操作系统上的一个虚拟分布式文件系统,可以将一个大数据集切割成多个较小的数据块(Block),并按照哈希分片(Hash Partition)、虚拟桶(Virtual Buckets)等算法将数据块有序存储在集群中的不同数据节点上,以提高容错性和分布式能力。

MapReduce包含Map和Reduce两个操作。MapReduce框架把一个计算任务拆分成若干个Map任务,然后分配到不同的主机节点上去执行,每一个Map任务处理输入数据中的一部分,当Map任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce任务的输入数据,Reduce对数据进行汇总处理并输出最终结果。

MapReduce计算需要大规模的读写数据,大容量网络I/O也就成为影响MapReduce计算性能的关键点之一。降低网络I/O有多种方式,与传统计算模式“moving data to jobs”不同,Hadoop提出“moves jobs to data”,即把计算任务推到数据所在的节点,实现本地计算,减少跨节点数据读取来提升性能。

在大数据集群部署环境选择方面,用户对构建物理机集群还是虚拟机集群会有很多疑惑,而正确理解Hadoop的基本原理,特别是“Moving jobs to data”降低网络I/O提升计算性能,可以有助于用户做出正确的选择。

2、大数据物理机集群

图1 大数据物理机集群

如图1所示,大数据物理机集群构建于X86服务器硬件,具备本地计算资源和本地硬盘资源,可以实现计算节点和数据节点部署在同一个节点,满足“Moving jobs to data”的原则,计算过程中减少数据在服务器之间的移动,降低网络I/O,实现快速数据读取和计算。此外,大数据物理机集群还具有下列优点:

(1)大数据物理机集群采用share-nothing技术架构,可以实现Scale out横向扩展,集群主机数量从几台到几千台规模,支持PB、EB级海量数据存储和计算能力的线性扩展。

(2)每台物理服务器节点可以配置多块硬盘,每块硬盘采用独立挂载方式,即每块硬盘具备独立的I/O能力,可以支持数据并行读写,实现高速数据吞吐能力。

(3)大数据物理机集群主机节点之间存在数据交换,通常会要求网卡满负荷运作,物理机可以通过多网卡负荷分担来提高网络I/O性能。

3、大数据虚拟机集群

图2 大数据虚拟机集群

如图2所示,虚拟化技术以提升物理服务器CPU、内存等资源利用率为目标,把一台物理服务器CPU、内存和存储等资源虚拟化成多组逻辑资源,每一组逻辑资源对应一个虚拟机VM,一台物理服务器虚拟化成多个VM,以VM为单元分配给多个APP使用可以达到服务器资源利用效率最大化要求。

与大数据物理机集群相比,大数据虚拟机集群存在下列问题:

(1)虚拟机集群计算能力极大地降低。Hadoop采用分布式计算框架,需要通过大数据集群的多个主机分担执行同一个计算任务,主机的CPU、内存和磁盘I/O能力越强则处理性能就越快。虚拟化技术把服务器物理资源虚拟化成多个逻辑资源,不仅没有提升大数据集群的CPU、内存和磁盘的I/O能力,而且hypervisor等虚拟化处理还会带来额外的资源消耗,致使单台物理服务器的处理性能会下降10%左右。

(2)虚拟机集群I/O效率极大地降低。大数据集群每次执行计算任务时,需要大量的读写数据,虚拟机采用共享存储或统一存储,Hadoop要求的“Moving job

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值