Hadoop 为什么要做基准测试?

一、为什么要做基准测试

有两个问题:

  1. 将一个 1T 的数据上传到 hdfs 需要多久?
  2. 将一个 10T 的数据从 hdfs 读取完毕需要多久?

如果不做基准测试,这两个问题就没有答案,因为不知道。所以在搭建完集群后,一定要先做基准测试。

二、如何做基准测试

1.测试 HDFS 写性能:向 HDFS 写 10个 128M 的文件(看自己心情设置文件个数和大小)

hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.2-tests.jar TestDFSIO -write -nrFiles 10 -fileSize 128MB

结果如下:

这里主要看 Throughput 参数即可,我的测试结果为:3.25 MB 每秒(本人笔记本虚拟机4G内存测试,性能很低)

2.测试 HDFS 读性能:读取 HDFS 10个 128M 的文件

hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.2-tests.jar TestDFSIO -read -nrFiles 10 -fileSize 128MB

结果如下:

     这里依然看 Throughput 参数即可,我的测试结果为:40.38 MB 每秒

3.测完最后删除测试数据

hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.2-tests.jar TestDFSIO -clean

三、使用Sort 程序评测 MapReduce

此项测试建议在强大的集群环境下做,最好不要在自己的低配电脑上(内存小于32G)做测试,否则......

1.使用RandomWriter来产生随机数,每个节点运行10个Map任务,每个Map产生大约1G大小的二进制随机数

hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar randomwriter random-data

2.执行Sort程序

hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar sort random-data sorted-data

3.验证数据是否真正排好序了

hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.2-tests.jar testmapredsort -sortInput random-data -sortOutput sorted-data

猜你喜欢

转载自blog.csdn.net/S_Alics/article/details/108514566