Hadoop性能测试工具

一、磁盘IO测试

1. 测试读速度

方式一:使用hdparm测试
yum install -y hdparm	#下载hdparm
hdparm -tT --direct /dev/sda1	#测试

hdparm参数:
-t 评估硬盘的读取效率(不经过磁盘cache)。
-T 平估硬盘快取的读取效率。

在这里插入图片描述

方式二:使用time+dd测试
time dd if=/dev/sda1 of=/dev/null bs=8k

因为/dev/sdb1是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb1上,也相当于测试磁盘的读能力。

在这里插入图片描述

2. 测试写速度

使用time+dd测试
time dd if=/dev/zero of=test.dbf bs=8k count=300000

其中/dev/zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。
在这里插入图片描述

二、Hadoop性能测试(DFSIO)

TestDFSIO是Hadoop自带的性能基准评测工具,需要通过执行hadoop-mapreduce-client-jobclient-2.9.2-tests.jar。

cd /opt/hadoop/hadoop/share/hadoop/mapreduce #进入jar包所在路径

测试写性能:

hadoop jar hadoop-mapreduce-client-jobclient-2.9.2-tests.jar TestDFSIO -write -nrFiles 5 -fileSize 128MB

命令说明:向HDFS集群中写入5个128MB的文件

测试结果:
在这里插入图片描述
结果说明:

  1. Total MBytes processed : 总共需要写入的数据量 100MB
  2. Throughput mb/sec :总共需要写入的数据量/(每个map任务实际写入数据的执行时间之和(这个时间会远小于Test exec timesec))==>100/(map1写时间+map2写时间+…)
  3. Average IO rate mb/sec :(每个map需要写入的数据量/每个map任务实际写入数据的执行时间)之和/任务数==>(20/map1写时间+20/map2写时间+…)/1000,所以这个值跟上面一个值总是存在差异。
  4. IO rate std deviation :上一个值的标准差
  5. Test exec time sec :整个job的执行时间

测试读性能

hadoop jar hadoop-mapreduce-client-jobclient-2.9.2-tests.jar TestDFSIO -read -nrFiles 5 -fileSize 128MB

在这里插入图片描述
【执行测试读操作之前需要至少有一次写操作】

删除历史写操作数据

hadoop jar hadoop-mapreduce-client-jobclient-2.9.2-tests.jar TestDFSIO -clean

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值