解决:测试HDFS读写性能时出现错误

解决:测试HDFS读写性能时出现错误

今天测试HDFS的读写性能出现以下错误

java.lang.IllegalArgumentException:Unsupported ByteMultiple M

测试HDFS写执行的命令:

 hadoop jar hadoop-mapreduce-client-jobclient-3.1.3-tests.jar TestDFSIO -write -nrFiles 2 -fileSize 128MB

我有三个集群,每台虚拟机只有1核,故集群一共只有3核,因此在-nrFiles 的数量为2(核-1),作为测试的文件数量。

image-20211213222530768

出现上面的原因是没有将虚拟内存管理关闭(虚拟后的运行内存是2.1*虚拟机的内存,但是centos7和jdk8 之间兼容有点问题,centos7会给应用留大量的资源),导致在测试HDFS写性能资源不足,关闭后直接使用的是物理内存

解决办法:yarn-site.xml中添加以下东西

<!--是否启动一个线程检查每一个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true,使用的是物理内存-->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>

最后的执行的结果为以下:

测试HDFS写性能:

image-20211213231238143

Number of files:生产文件数量,也是mapTask的数量,一般都是(核数-1)

Total MBytes processed:单个map处理的文件大小

Troughput mb/sec:当个mapTask的吞吐量

计算方式:所有数据量累加/总时间

Average IO rate mb/sec:平均mapTask的吞吐量

计算方法:(每一个mapTask平均速度之后)/Number of files

IO rate std deviation:方差、反应各个mapTask处理的差值,越小越均衡

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值