testdfsio在cdh5.8.0上的基准测试

ffdz8vbo  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(402)

环境详情:

os:centos 7.2 cdh:cdh 5.8.0主机:11(2个主机,4个dn+nm,5个nm)
yarn.nodemanager.resource.memory-mb 32074mb(用于nodemanager组1)82384mb(用于nodemanager组2)
我有一个hadoop集群,有11个节点,2个主节点,4个从节点,运行datanode和nodemanager守护进程,5个节点上只运行nodemanager守护进程。在这个集群上,我正在运行testdfsio基准测试作业,8tb负载有10000个文件,每个文件大小为800mb。我注意到一些我不能完全理解的事情。
1) 此作业的拆分数显示为10000。为什么会是10000个分割,我的dfs.blocksize显示它是128mb,按照这个设置,分割的数量应该超过10000对吗?
2) 在resourcemanagerwebui中,我看到在我的5个computenodes(只有nodemanager运行的节点)上,每个节点上只运行了32个map任务。所有其他Map任务正在4个dn+nm节点上运行。为什么会这样?我已将9个从属节点分配到两个节点组中。4个dn+nm节点位于nodemanager组1中,其他5个从属节点位于另一个nodemanager组2中。nodemanager group1中从机的yarn.nodemanager.resource.memory-mb为32074mb,nodemanager group2中从机的内存为82384mb。我认为理想情况下,nodemanager group2中的5个从属节点应该占用更多的map tak。但为什么这不发生呢?

ig9co6j1

ig9co6j11#

afair-testdfsio将为每个文件分配一个Map任务。这就是为什么即使块的大小更小,最终也会有相同数量的Map任务。
如何配置数据位置?Map者更喜欢数据是本地的节点。这就解释了为什么在datanodes是本地的节点上会有更多的任务。

相关问题