大数据之Hadoop集群的HDFS压力测试
2022/6/17 23:28:44
本文主要是介绍大数据之Hadoop集群的HDFS压力测试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
测试HDFS写性能
1)写测试的原理
2)测试内容:向HDFS集群写10个128MB的文件(3个机器每个4核,2 * 4 = 8 < 10 < 3 * 4 =12)
[hadoop@hadoop103 ~]$ hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -write -nrFiles 10 -fileSize 128MB 2022-06-17 15:53:28,086 INFO fs.TestDFSIO: ----- TestDFSIO ----- : write 2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Date & time: Fri Jun 17 15:53:28 CST 2022 2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Number of files: 10 2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Total MBytes processed: 1280 2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Throughput mb/sec: 1.66 2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Average IO rate mb/sec: 1.71 2022-06-17 15:53:28,086 INFO fs.TestDFSIO: IO rate std deviation: 0.3 2022-06-17 15:53:28,086 INFO fs.TestDFSIO: Test exec time sec: 153.5 2022-06-17 15:53:28,086 INFO fs.TestDFSIO:
注意:nrFiles n
为生成mapTask的数量,生产环境一般可通过hadoop103:8088
查看CPU核数,设置为(CPU核数-1)
Number of files
:生成mapTas数量,一般是集群中(CPU核数-1)。Total MBytes processed
:总文件大小Throughput mb/sec
:单个mapTask的吞吐量
计算方式:处理的总文件大小/每一个mapTask写数据的时间累加和
整个集群吞吐量:生成mapTask数量 * 单个mapTask的吞吐量
Average IO rate mb/sec
:平均mapTask的吞吐量
计算方式:每个mapTask处理文件大小/每一个mapTask写数据的时间全部相加除以task数量
IO rate std deviation
:方差、放映各个mapTask处理的差值,越小越均衡
如果测试过程中,出现异常,尝试关闭虚拟内存检测
在yarn-site.xml
中设置虚拟内存检测为false,然后重启Yarn
集群
<!-- 虚拟内存检查,默认为打开,修改为关闭--> <property> <description>Whether virtual memory limits will be enforced for containers.</description> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property>
3)测试结果分析
由于副本1就在本地(hadoop4),所以该副本不参与测试(如果客户端不在集群节点,那就所有副本都参与计算)
一共参与测试的文件:10个文件 * 2个副本 = 20个
压测后的速度:1.66
实测速度:1.66M/s * 20个文件 ≈ 33.2M/s
三台服务器的带宽:3 * (100Mbps / 8bit) ≈ 37.5M/s
所有网络资源都已经用满。
如果实测速度远小于网络,并且实测速度不能满足工作需求,可以考虑采用固态硬盘或者增加磁盘个数。
测试HDFS读性能
1)测试内容:读取HDFS集群10个128M的文件
[hadoop@hadoop102 ~]$ hadoop jar /opt/module/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -read -nrFiles 10 -fileSize 128MB 2022-06-17 16:33:04,291 INFO fs.TestDFSIO: ----- TestDFSIO ----- : read 2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Date & time: Fri Jun 17 16:33:04 CST 2022 2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Number of files: 10 2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Total MBytes processed: 1280 2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Throughput mb/sec: 49.1 2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Average IO rate mb/sec: 98.43 2022-06-17 16:33:04,292 INFO fs.TestDFSIO: IO rate std deviation: 78.64 2022-06-17 16:33:04,292 INFO fs.TestDFSIO: Test exec time sec: 44.96
这篇关于大数据之Hadoop集群的HDFS压力测试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14使用AWS Lambda和S3打造智能文件整理器 - (动手搭建系列)
- 2024-11-14Netflix简化营收基础设施中的合同管理工具
- 2024-11-142024年必备的6款开源Terraform神器
- 2024-11-14Spin 3.0来啦:全新功能让你的无服务器Wasm应用开发更上一层楼
- 2024-11-14如何高效管理项目?小团队到大企业的多功能项目管理工具推荐
- 2024-11-1333 张高清大图,带你玩转 KubeSphere 4.1.2 部署与扩展组件安装
- 2024-11-11Spark 新作《循序渐进 Spark 大数据应用开发》简介
- 2024-11-11KubeSphere 社区双周报| 2024.10.25-11.07
- 2024-11-11云原生周刊:Istio 1.24.0 正式发布
- 2024-11-10一个故事,为你理清云开发服务的选择思路