压测实操--TestDFSIO压测hdfs读写方案

作者:九月

TestDFSIO主要是对hdfs的I/O性能进行测试,通过使用MapReduce作业来完成测试,作为并行读写文件进行I/O性能测试。每个map任务用于读或写每个文件,map的输出用于收集与处理文件相关的统计信息,reduce用于累积统计信息,并产生summary。

命令参数:

Usage: TestDFSIO [genericOptions] -read [-random | -backward | -skip [-skipSize Size]] | -write | -append | -truncate | -clean [-compression codecClassName] [-nrFiles N] [-size Size[B|KB|MB|GB|TB]] [-resFile resultFileName] [-bufferSize Bytes] [-storagePolicy storagePolicyName] [-erasureCodePolicy erasureCodePolicyName]

注意:如果集群开放了安全认证,需要提前认证通过后,进行压测。

一、先使用默认值进行压测

目前压测集群的namenode为1G

请添加图片描述

1、测试并行文件个数为20,size为1GB

读写操作

hadoop jar  /usr/hdp/3.1.5.0-152/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-3.1.1.3.1.5.0-152-tests.jar  TestDFSIO -write -nrFiles 20 -size 1GB
 
  hadoop jar  /usr/hdp/3.1.5.0-152/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-3.1.1.3.1.5.0-152-tests.jar  TestDFSIO -read -nrFiles 20 -size 1GB

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

2、测试并行文件个数为20,size为2GB

读写操作

hadoop jar  /usr/hdp/3.1.5.0-152/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-3.1.1.3.1.5.0-152-tests.jar  TestDFSIO -write -nrFiles 20 -size 2GB
 
  hadoop jar  /usr/hdp/3.1.5.0-152/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-3.1.1.3.1.5.0-152-tests.jar  TestDFSIO -read -nrFiles 20 -size 2GB

请添加图片描述

请添加图片描述

对应仪表盘根据上文进行查看,本集群在测试并行文件个数为20,size为2GB时,由于是3副本机制,基本已达到该集群的磁盘瓶颈。

3、测试并行文件个数为40,size为1GB

读写操作

hadoop jar  /usr/hdp/3.1.5.0-152/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-3.1.1.3.1.5.0-152-tests.jar  TestDFSIO -write -nrFiles 40 -size 1GB
 
  hadoop jar  /usr/hdp/3.1.5.0-152/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-3.1.1.3.1.5.0-152-tests.jar  TestDFSIO -read -nrFiles 40 -size 1GB

4、测试并行文件个数为80,size为512MB

读写操作

hadoop jar  /usr/hdp/3.1.5.0-152/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-3.1.1.3.1.5.0-152-tests.jar  TestDFSIO -write -nrFiles 80 -size 512MB
 
  hadoop jar  /usr/hdp/3.1.5.0-152/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-3.1.1.3.1.5.0-152-tests.jar  TestDFSIO -read -nrFiles 80 -size 512MB

5、测试并行文件个数为160,size为256MB

读写操作

hadoop jar  /usr/hdp/3.1.5.0-152/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-3.1.1.3.1.5.0-152-tests.jar  TestDFSIO -write -nrFiles 160 -size 256MB
 
  hadoop jar  /usr/hdp/3.1.5.0-152/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-3.1.1.3.1.5.0-152-tests.jar  TestDFSIO -read -nrFiles 160 -size 256MB

二、增大namenode内存进行压测

例如增大namenode内存为2G,依次测试不同并行文件个数,不同size的场景,在磁盘、内存或者cpu负载达到瓶颈时,结束压测。

三、总结

在集群硬件资源能给到最大条件下(比如namenode最大能给到8G,再大就会影响其他组件的内存使用),结合并行文件和文件大小对hdfs的i/o进行测试,需要重点关注io速率、rpc、namenode同步和集群是否告警情况。也可以将执行命令得到的io rate和throughput进行整理,形成曲线图查看趋势。

更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值