设为首页 收藏本站
查看: 1065|回复: 0

[经验分享] 关于hadoop集群的简单性能测试——mapreduce性能,hive性能,并行计算分析(原创)

[复制链接]

尚未签到

发表于 2015-7-12 09:15:24 | 显示全部楼层 |阅读模式
  一、测试目的
  主要是测试hadoop集群分布式计算的速率跟数据大小和计算节点数量的关系。
  二、环境
  
  硬件:浪潮NF5220。
  系统:CentOS 6.1
  Master节点在母机CentOS上,分配4CPU,13G内存。
  其余三个slave节点在母机的KVM虚拟机上,系统一样是CentOS6.1。硬件配置:内存1G,4 CPU,每个100G容量大小的硬盘。
  三、步骤及测试结果
  首先将原始数据大小为260M的txt文件放入hdfs。并配置了Hive环境做数据查询测试。由于原始数据太小,要做GB以上的文件测试。所以并且分别拷贝10、50、100、200、300、400、500份原始数据做成对应的大数据文件。(即:例如复制100份的数据集形成一份大数据,其中有个字段是id,分别为1——100,对应原始数据的100份)
  分别对这些数据使用hiveQL查询相同的数据,然后记录不同大小的数据查询的结果。做成一个图表。然后再添加一个slave计算节点,负载均衡后再使用相同的hiveQL语言查询相同的数据集,记录对应的结果。做出下图:
DSC0000.jpg
  其中,红色是4个计算节点的趋势线,黑色是三个节点。X轴是任务完成时间,Y轴是对应的数据大小,即拷贝原始数据的副本数。图像表明,1、随着数据集的容量增大,mapreduce效率会提高,但是当过了一直值,效率会再次下降。2、4个计算节点时随着数据量的增大mapreduce效率增加的更明显,但是也有一个峰值。3、对应相同大小的数据,4个计算节点的效率要高于3个计算节点的。
  当然,这些数据存在着较大的误差,由于条件有限,最后加入的节点与之前三个配置不一样。例如,最后加入的节点硬盘容量比较大,并且本人格式化的hdfs空间也相对大点。这就意味着这个节点会有更多的block,当执行mapreduce时也就会产生更多的mapper。但是CPU和其他硬件没有提高,会拖带本节点的性能,所以这个节点的增加不对应线性的速率增加。但是总会比三节点的要好。
  另外,通过分析mapreduce节点工作情况,也验证了task的mapper的数量与性能的关系。
  在hadoop中,一个tast作为一个调度时间片。任何时候,只要有空闲的CPU CORE,而且有待调度的Task,那么Task就可以被分配到空闲的CPU CORE上。将一个节点划分为N个Slots,N等于该节点的CPU CORE个数,也就是一个节点最多可以运行与CPU CORE个数相等的Task。
  Slots有点像资源池,每个任务必须要获得一个slots才可以运行。Slots可以理解为能并发执行多少个任务。Slots分为mapper slots和 reduce slots,分别对应最大可并行执行的mapper数和reducer数。
  Mapper总数不会变,因为查询同样的数据,对应相同数量的spilts。当开始我将mapper slots设置为4时,对应19个task。当mapper slots设置为8时,对应10个task。如图:
DSC0001.jpg
  19个Task
DSC0002.jpg
  10个Task
  对应19个task。前18个的mapper slots都是满的4个。第十九个就不满。所以mapper slots改为8的时候,需要10个task,第十个还是不满。通过下图也可以看出,虽然task数量少了,但是每个task运行的时间多了,因为对于每个task,所有mapper不可能同时获得CPU资源做到并行计算,需要等待调度,总效率还是没有提高。所以要想提高效率还是要多增加计算节点,降低每个task的最大并行mapper数量(这个数量应该等于CPU核的数量,做到并行调度),从而增加task的数量,使task被均匀分配到每个节点,让所有mapper都并行计算。提高效率。
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-85673-1-1.html 上篇帖子: Hadoop on Mac with IntelliJ IDEA 下篇帖子: HADOOP常见错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表