HDFS & MapReduce异构存储性能测试白皮书

Posted 人工智能与大数据技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS & MapReduce异构存储性能测试白皮书相关的知识,希望对你有一定的参考价值。

来自:whoami的博客

链接:http://www.itweet.cn/2016/10/27/Archival-Storage-SSD-Memory-performance/(点击尾部阅读原文前往)


摘要


我们已经进入数据时代,很难评估电子存储数据的总量,但是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。


硬件配置:

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

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

声明:每台主机中存在一块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。


图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。


HDFS & MapReduce异构存储性能测试白皮书图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。


HDFS & MapReduce异构存储性能测试白皮书图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。


HDFS & MapReduce异构存储性能测试白皮书
图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工作修改


HDFS & MapReduce异构存储性能测试白皮书图5 (2备份 时间图表)



图6 (3备份 时间图表)


HDFS PUT vs HDFS FUSE vs HDFS NFSGateway

单文件大小10G

hdfs-put           0m32.639s   
hdfs-fuse          1m17.294s   
hdfs-nfsgateway    1m58.294s

结论


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


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



●本文编号210,以后想阅读这篇文章直接输入210即可。

●输入m可以获取到文章目录

相关推荐↓↓↓
 

算法与数据结构

推荐:《

涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、ios开发、C/C++、.NET、Linux、数据库、运维等。

以上是关于HDFS & MapReduce异构存储性能测试白皮书的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 mapreduce 从具有 RCFile 存储格式的 HDFS 解析 Map<string,string>?

HDFS 异构存储实战

大数据之Hadoop的HDFS存储优化—异构存储(冷热数据分离)

Hadoop&Spark搭建

hdfs的特点都有哪些

HDFS之存储优化纠删码原理纠删码案例实操 异构存储(冷热数据分离)