UDN-企业互联网技术人气社区

板块导航

浏览  : 1005
回复  : 0

[运维] HDFS & MapReduce异构存储性能测试白皮书

[复制链接]
哥屋恩的头像 楼主
发表于 2016-10-28 19:52:17 | 显示全部楼层 |阅读模式
  摘要

  我们已经进入数据时代,很难评估电子存储数据的总量,但是IDC评估2013年数据量为4.4Zettabytes,预计到2020年数据会增长十倍到44Zettabytes。如何高效处理每年生成的巨量的数据?处理大规模数据需要并行计算和存储架构,Hadoop提供了并行的,可扩展的,可靠地架构,本白皮书中展示了Hadoop使用SSD的性能与使用SATA的性能。

  Hadoop介绍

  Hadoop使用HDFS文件系统,HDFS是一个高可扩展,并行文件系统,它为顺序数据集做了大量的优化,它跑在普通的硬件集群上。CPU和内存每秒可以处理数百GB的数据,但是硬盘IO每秒仅可以处理 100MB到几个GB的数据。硬盘IO是整个系统的性能瓶颈。每天大量数据生成,随着数据量的增长,处理数据需要越来越长的时间。如何节省时间?解决硬盘IO性能瓶颈的问题,提升 HDFS的性能。添加更多的硬盘到每个机器?可能机器已经没有更多的硬盘空间。即便有更多的空间,添加硬盘的方式提升性能也是不够好的。添加更多的机器可能数据中心没有更多的空间,而且添加系统开销太大。不用急,SSD帮你解决了这个问题。我们用更少的机器提供更高的性能。

  测试集群配置

  HDFS是用JAVA编写的分布式的,可扩展的,轻便的文件系统,它为Hadoop框架服务。一个Hadoop集群通常有一个Name node, 和一群data node.每个数据节点以块数据的方式按照HDFS规定的块协议跨越网络存储数据。文件系统通过TCP/IP套接字来通信。客户端之间使用PRC通信。测试集群有一个master node,其上运行 NameNode, ResourceManager and client 功能,4个datanodes。

  硬件配置:

  1. Hadoop未配置加速卡
  2. CPU:                    2*E5 2660V3
  3. 内存:                   128GB
  4. 硬盘:                   4TB 12*SATA 7200
  5. 网络环境:               万兆光纤网络
  6. 分区方式:               LVM分区方式

  7. Hadoop配置加速卡
  8. CPU:                    2*E5 2660V3
  9. 内存:                   128GB
  10. 硬盘:                   4TB 12*SATA 7200  1T*SSD
  11. 网络环境:               万兆光纤网络
  12. 分区方式:               LVM分区方式

  13. 声明:每台主机中存在一块SSD磁盘1T加速,12块SATA磁盘。
复制代码


  测试流程

  测试的目的是评估 HDFS 基于SATA SSD 的性能。

  TestDFSIO 评估 HDFS 的性能,给网络和存储 IO 加压。读写文件的命令可以度量NameNode 和DataNodes 系统级的性能及展示网络的瓶颈,大量的 MapReduce 负载时 IO 密集的而非计算密集,所以在这种情况下 TestDFSIO 可以提供一个初始的情况。

  测试结果

  我们的测试运行在 Namenode 上。测试总写入数据240GB,副本数3,文件数N为1, 3, 6, 12, 48文件大小为M,每个文件一个map。测试结果如图2所示,SATA HDFS测试1个map可以获得并发吞吐率685MB/s。 SSD HDFS测试1个map可以获得并发吞吐率830MB/s。

k.png

  图1 TestDFSIO写吞吐量

  测试总写入数据 240GB, 副本数3,文件数N为1,3,6,12,48文件大小为M,每个文件一个map。测试结果如图3所示,SATA HDFS测试1个map可以获得并发吞吐率501MB/s,SSD

  HDFS测试1个map可以获得的并发吞吐率3625MB/s。

j.png

  图2 TestDFSIO读吞吐量

  我们的测试运行在 Namenode 上。测试总写入数据240GB,副本数2,文件数N为1, 3, 6, 12, 48文件大小为M,每个文件一个map。测试结果如图2所示,SATA HDFS测试1个map可以获得并发吞吐率587MB/s。 SSD HDFS测试1个map可以获得并发吞吐率638MB/s。

i.png

  图3 TestDFSIO写吞吐量

  测试总写入数据 240GB, 副本数2,文件数N为1,3,6,12,48文件大小为M,每个文件一个map。测试结果如图3所示,SATA HDFS测试1个map可以获得并发吞吐率295MB/s,SSD

  HDFS测试1个map可以获得的并发吞吐率2379MB/s。

h.png

  图4 TestDFSIO读吞吐量

  The Truth About MapReduce Performance on SSD、STAT

  在不同的磁盘中测试mapReduce不同算法的计算时间,

  MapReduce算法描述

  Teragen 大量使用网路工作进行HDFS三备份复制

  terasort HDFS读写的工作比

  teravalidate HDFS包含大量读取操作的工作,HDFS写一些小的IO

  wordcount CPU-heavy工作量大

  shuffle hadoop-examples randomtextwriter shuffle-only工作修改

g.png

  图5 (2备份 时间图表)

f.png

  图6 (3备份 时间图表)

  HDFS PUT vs HDFS FUSE vs HDFS NFSGateway

  单文件大小10G

  1.  hdfs-put           0m32.639s
  2. hdfs-fuse          1m17.294s
  3. hdfs-nfsgateway    1m58.294s
复制代码


  结论

  随着海量数据的增长,提供 Hadoop IO 性能的最有效的方法是使用 SSD替代SATA。本白皮书清晰的展示了SSD 极大的提升了 Hadoop 集群的性能,同时减少了节点数量,大幅度降低了TCO。

  对于mapReduce,通过图5,图6,可以看出shuffle算法计算用时最短,我们的测试也表明,固态硬盘的好处取决于所涉及的MapReduce工作,因此,存储介质的选择需要考虑这个生产工作负载聚合性能的影响,精确地改善取决于可压缩数据在所有的数据集、IO和CPU负载的比例工作。

原文作者:whoami  来源:开发者头条
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部