首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 云计算 >

hadoop学习札记(10)-HDFS I/O性能测试

2013-04-02 
hadoop学习笔记(10)-HDFS I/O性能测试分布式RDF查询引擎的项目需要在节点之间传输中间结果,考虑HDFS可以作

hadoop学习笔记(10)-HDFS I/O性能测试

分布式RDF查询引擎的项目需要在节点之间传输中间结果,考虑HDFS可以作为一个备选的传输媒介,于是对HDFS的IO性能做了一个粗略的测试,过程和结果如下:

[转载引用请注明出处:http://blog.csdn.net/bhq2010/article/details/8740154]

硬件环境:

  实验室的8台老机器组成的集群,配置:

    Intel 965芯片组

    Intel Core E4400 CPU(2GHz双核,2MB L2,800MHz FSB)

    1GB*4 双通道 DDR2 667 内存

    160GB*1 SATA2 硬盘

    集成BCM5754 Gigabit PCI-E 网卡

  8台机器用1米长的5类线接到一台48G背板带宽的24口千兆交换机上

软件环境:

  8台机器上都装着

  centos 6.2(2.6.32) x64 系统

  hadoop 1.0.4(集群上启动了map-reduce,还运行着zookeeper和hama0.6.0,但没有运行任何job)

测试过程:

由于只是想知道hdfs大概的io性能,以下的实验都没有多次实验取平均。

首先将hdfs的上传速度和scp的速度做对比,随便在集群中找了一个节点iir455-202,向hdfs  put一个1028MB的文件(hdfs文件块64MB,8个节点,每个节点大约会有2个文件块):

2002m6.369s2011m47.316s2022m18.009s2032m15.086s2041m48.399s2051m35.219s

平均每个节点用时118秒。

小结:

hadoop1.0.4所带的hdfs的单点下载要比上传快大约1倍。假如通过hdfs实现集群中两个结点之间的文件传输(一个节点上传,另一个节点下载),从上面1GB文件测试结果看,用时大约在1分钟左右,而scp用时半分钟左右,scp快了一倍,如果用socket,速度应该会更快。

所以如果只是点对点传文件,不要用hdfs!

而如果是需要多对一传文件的话,以上述的测试为例,上传用了118秒(其实第一个文件上传完了,接收端就可以读取了,无须等待所有的文件都传完,不过上传也会对下载有一些影响,所以用平均值来作为上传时间)、下载大约120秒(按50MB/s的速度算),而如果用scp的话,多对一的速度和一对一的速度基本是一样的(因为接收方的网速限制了速度),那么用时将达到180s,可见scp的速度还是快,但是仅快了30%左右。

也许发送节点越多,这个差距会越小,甚至hdfs会比scp还要快,但是理论上是不会比socket快的。

结论就是,hdfs传输中间结果也许可以在一些特殊场合下用。但更通用的是直接的网络传输,并且在传输时使用适当的压缩(如scp的-C参数)。

热点排行