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

九月7个月前技术文章429


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.png

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

图12.png

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进行整理,形成曲线图查看趋势。


标签: 压测

相关文章

压测实操--kafka-consumer压测方案

压测实操--kafka-consumer压测方案

环境信息:操作系统centos7.9,kafka版本为hdp集群中的2.0版本。Consumer相关参数使用Kafka自带的kafka-consumer-perf-test.sh脚本进行压测,该脚本参...

fio磁盘io压测

fio磁盘io压测

fio tar包地址:https://brick.kernel.dk/snaps/yum 安装gcc、fio使用到的ibaio-devel 引擎yum install -y gcc yum inst...

IDC:疫情下,第三方云管理服务市场逆势增长!

IDC:疫情下,第三方云管理服务市场逆势增长!

IDC预测,中国第三方云管理服务在2019年到2023年间将保持54.7%的增长率,2023年市场规模预计达到32.1亿美元。2019年第三方云管理服务市场呈现出如下特点:云管理服务成为众多服务商的战...

压测实操--kafka broker压测方案

压测实操--kafka broker压测方案

环境信息:操作系统centos7.9,kafka版本为hdp集群中的2.0版本。kafka broker参数num.replica.fetchers:副本抓取的相应参数,如果发生ISR频繁进出的情况或...

Hive压测之开源Hive基准测试工具(hive-testbench-hive14)

Hive压测之开源Hive基准测试工具(hive-testbench-hive14)

此文章禁止转载概述Hive基准测试工具工具,可用来造数测试Hive基本性能。TPC-DS:提供一个公平和诚实的业务和数据模型,99个案例TPC-H:面向商品零售业的决策支持系统测试基准,定义了8张表,...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。