Hadoop安装后的集群基准测试

        一旦创建Hadoop集群并开始运行,我们需要给予用户权限使用它。这就是需要为每一个用户创建一个目录,并且对它设置权限许可。这就需要为每一个用户创建一个主目录,并且对它设置权限许可:

[root@slave1 hadoop-0.20.2]# hadoop fs -mkdir /usr/username

[root@slave1 hadoop-0.20.2]# hadoop fs -chown /usr/username

这时设置目录空间限制比较合适。可以给用户目录设置一个1TB的限制

[root@slave1 hadoop-0.20.2]# hadoop dfsadmin -setSpaceQuota 1t /user/username

1. 用TestDFSIO基准测试HDFS
          Hadoop带有一些基准测试程序,基准测试程序被打包在测试程序JAR文件中。其中,TestDFSIO用来测试HDFS的I/O性能。大多数新系统硬件的故障都是硬盘故障。通过运行I/O密集型基准测试,可以对集群的使用进行热身。它通过使用MapReduce作业来完成测试作为并行读写文件的便捷方法。每个文件的读写都在单独的map任务中进行,并且map的输出可以用来收集统计刚刚处理过的文件。这个统计数据在reduce中累加起来得出一个汇总。以下命令写了10个文件,每个1000MB:
[root@slave1 hadoop-0.20.2]# hadoop jar hadoop-0.20.2-test.jar TestDFSIO -write -nrFiles 10 -fileSize 1000

以下内容是TestDFSIO基准测试的运行结果,结果被写入控制台并同时记录在一个本地文件。

[root@slave1 hadoop-0.20.2]# cat TestDFSIO_results.log

----- TestDFSIO ----- : write

Date & time: Thu Aug 26 11:22:17 CST 2010
Number of files: 10
Total MBytes processed: 10000

Throughput mb/sec: 13.260489046836048
Average IO rate mb/sec: 14.472989082336426
 IO rate std deviation: 5.827325922190211
Test exec time sec: 463.276

完成基准测试后,可通过参数-clean从HDFS上删除所有生成的文件:

[root@slave1 hadoop-0.20.2]# hadoop jar hadoop-0.20.2-test.jar TestDFSIO -clean

2. 用排序测试MapReduce

        Hadoop自带一个部分排序的程序。这对测试整个MapReduce系统很有用,因为整个输入数据集都会通过洗牌传输至reducer。一共三个步骤:生成一些随机的数据,执行排序,然后验证结果。
       首先我们通过使用RandomWriter生成一些随机的数据。它以每个节点10个map的方式运行一个MapReduce作业,并且每一个map生成近似10GB的随机二进制数据,带有不同长度的键和值。

[root@slave1 hadoop-0.20.2]# hadoop jar hadoop-0.20.2-examples.jar randomwriter random-data

        下面这条命令运行了SortValidator程序,该程序对未排序和已排序的数据做一系列的检测来确认排序是否正确。它在运行的最后将结果报告给控制台。
[root@slave1 hadoop-0.20.2]# hadoop jar hadoop-0.20.2-test.jar testmapredsort -sortInput random-data \ -sortOutput sorted-data

SUCCESS! Validated the MapReduce framework's 'sort' successfully .

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章