HDFS 集群读写压测

虚拟机设置

如果你是在虚拟机中使用集群,那你你需要先对每台服务器进行网络设置,模拟真实网络传输速率。

如下所示:

将其设置为百兆网,每台服务器都要进行设置哦。

HDFS 写数据测试

进行写数据测压,运行官方案例。

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -write -nrFiles 11 -fileSize 128MB

参数解析:

  • 官方测压 Jar 包: hadoop-mapreduce-client-jobclient-3.1.3-tests.jar

  • 类名:TestDFSIO

  • 操作类型:-write

  • 指定操作文件数量:-nrFiles 11,该参数设置为集群服务器总CPU核心数减 1

  • 指定传输文件大小:fileSize 128MB

写入测试结果分析:

在这里插入图片描述

  • Date & time:测试执行的日期和时间为 2023-08-25 22:23:39 CST。

  • Number of files:在测试中创建了 11 个文件。

  • Total MBytes processed:单个 map 总共处理了 1408 MB 的数据。

  • Throughput mb/sec:吞吐量,即每秒写入的数据量,为 3.86 MB/sec。这表示在测试期间,平均每秒写入了约 3.86 MB 的数据。

  • Average IO rate mb/sec:平均的IO速率,即数据写入的平均速率,为 4.3 MB/sec。这是所有写入操作的平均速率。

  • IO rate std deviation:IO速率的标准差,为 1.43。这个值衡量了IO速率的变化程度。较高的标准差可能表示写入速率在测试期间有较大的波动。

  • Test exec time sec:测试执行的时间为 137.46 秒。这表示整个测试的执行时间。

那么如何确定资源是否合理分配跑满了呢?

在上面,我们设置每台服务器的网速为 100Mbps(bit),换算成兆每秒结果为 12.5M/s(byte),因为 1byte = 8bit

输出结果中显示平均速率为 3.86 M/s,三台服务器共传输了 3 * 11 个文件,所以实测速度为 3.86 * 33 = 127.38M/s,显然该速度远远大于 3 * 12.5M/s,所有资源传输速度都很快,网络资源已经拉满。

该测试结果会受到网速、硬盘传输速率的影响。

HDFS 读数据测试

进行读数据测压,运行官方案例。

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -read -nrFiles 11 -fileSize 128MB

读测试结果如下:

在这里插入图片描述

由于这里的数据都在本地,所以拼的就是硬盘的传输速率,没有网络IO,速度很快。

删除压测产生的数据

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -clean

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月亮给我抄代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值