大数据实测之三英战吕布
Hadoop、MapRHadoop、Spark平台性能数据初步分析
(三英 = Hadoop、MapRHadoop、Spark 吕布 = 大数据)
关于Hadoop、MapRHadoop、Spark 三平台前世今生请参考其他资料,不在此说明。
数据说明:
本次测试旨在摸清各个数据平台在基础性能上的差异,数据大小分为100G,500G,1T,三个等级,
使用大数据运算平台分别是 开源Hadoop、MapR Hadoop 及 中软提供的Spark平台。
测试环境使用2288服务器,其中,Hadoop平台的单节点默认配置:8G RAM,HDFS备份数3,主节点同时用于计算,HDFS块大小64M。
Spark平台的配置除内存不同外同Hadoop平台配置。
初步分析:
数据大小和节点数的比较
1 开源Hadoop平台
由上图可分析出:
1.对于固定节点数及配置下,随着计算数据的增加,计算时间基本是线性增长;
2.对固定数据量的计算,随着计算节点的增多,计算速度有一定的提升,但并不是线性的;
3.节点的增加会扩充集群的计算能力,速度上,容量上,多节点间的任务调度和协调复杂度也相应的提升。
MapR Hadoop的变化趋势和开源Hadoop的变化趋势相近,但在单节点与多节点的性能测试中,时间优势体现更加明显,这是因为在MapR Hadoop中,总是预留一个CPU给资源调度,在单节点的情况下,只有一个CPU在运算,相对多节点,参与计算的CPU数量上升幅度更大,所以性能增长趋势更明显。
3 开源Hadoop和MapRHadoop比较
从实际测试数据来看,MapR Hadoop的整体性能比开源Hadoop要快一些(单节点除外,因单节点时MapR Hadoop只用了一个CPU计算);
随着数据量增大会耗费更多时间,但通过增加节点能缓解这种增长。
5 Spark和Hadoop
三个平台单节点计算速度比较,如下:
需要说明的是,MapR平台的单节点因为少参与一个CPU的缘故,比较慢是正常的,
在后续逐渐增多节点数的比较重,看出来的趋势是Spark与MapR平台的性能非常接近;
但因为Spark是内存运算的关系,理论上分析会比Hadoop快很多,但是根据实验室实测数据,Spark的速度并没有完全体现出来。
分析了两种平台的差异,应该是算法实现的本身妨碍了Spark的速度。这一点优化的比较,请参看“算法影响分析”一节。
6 YARN调度的影响
YARN本身作为资源调度,应该更好地分配资源,但在实际测试中发现,并不是所有的场景下使用YARN都是最优的,尤其在节点数不多的情况下,基于YARN的调度反而会使时间变长,以下是一组数据对比,所以,请在环境中存在大量节点的时候使用YARN。
算法影响分析
1 链式模型
在开源Hadoop平台上,使用两种迭代算法模式进行不同的比较:
1、 采用对50G数据连续迭代2次的编程模型,第一次迭代完成后的数据约25G左右,由于要存入HDFS,在此步骤中消耗大量时间;
2、 采用链式编程模型,同样的数据和算法,中间过程不保存直接作为下一步的输入,速度大幅提高
2 多次迭代
对100G天气数据进行多次迭代(10次),比较各平台的性能差距(此前的测试没有涉及到多次迭代)
Spark的优势开始体现,但该算法还不是最合适Spark的。
在测试过程中,也发现namenode和datenode配置的影响,如果namenode不用来做计算,整体性能可能会提高。
关于各平台的参数调优结果,仍在整理中,后续更新。
------------------------------------------------------------------------------------------------------------------------------------
以上数据由项目组实测整理,受测试环境,测试数据,测试次数影响,可能存在一定误差,大部分数据是测试三次后取均值得出,仅供项目内部研究、参考。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请发送邮件至hwclouds.bbs@huawei.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
- 点赞
- 收藏
- 关注作者
评论(0)