环境详细信息:
OS: CentOS 7.2Cdh: Cdh 5.8.0主机:11台(2台主机,4dn +NM, 5nm)
yarn.nodemanager.resource。内存-mb 32074MB(用于NodeManager group1)82384MB (for NodeManager group2)
我有一个hadoop集群有11个节点,2个主,4个从与datanode &;运行Nodemanager守护进程,5个节点上只有Nodemanager守护进程在运行。在这个集群上,我运行TestDFSIO基准测试作业,负载为8TB,有10000个文件,每个文件大小为800MB。我注意到一些我不能很好地理解的事情。
1)此作业的拆分数显示为10000。怎么会是10000次呢,我的dfs。blocksize显示它是128MB,按照这个设置,分割的数量应该大于10000,对吗?
2)在resourcemanager Web UI中,我看到在我的5个computenodes(只有nodemanager运行的节点)上,每个节点上只有32个map任务运行。所有其他map任务都在4dn +nm节点上运行。为什么会发生这种情况?我已经将9个从节点分配到两个节点组中。4个dn+nm节点在nodeManager group1中,其他5个slave节点在另一个nodeManager group2中。yarn.nodemanager.resource。nodeManager group1中的从节点内存-mb为32074MB, nodeManager group2中的从节点内存-mb为82384MB。我认为理想情况下,nodeManager group2中的5个从节点应该执行更多的映射任务。但为什么这种情况没有发生呢?
-
affair - TestDFSIO将为每个文件分配一个映射任务。这就是为什么你最终得到相同数量的地图任务,即使你的块大小更小。
-
您的数据位置是如何配置的?映射器更喜欢数据是本地的节点。这就解释了为什么当datanode是本地节点时,你会在这些节点上得到更多的任务。