保存Hadoop中的Mapper输出的位置?

我有兴趣有效地管理Hadoop混洗流量并有效利用网络带宽。 为此,我想知道每个Datanode产生的混乱流量是多少? 洗牌流量只不过是映射器的输出。 那么这个映射器输出保存在哪里? 如何实时获取每个数据节点的映射器输出大小? 感谢您的帮助。

我已经创建了一个目录来存储这个mapper输出,如下所示。

 mapred.local.dir /app/hadoop/tmp/myoutput  

我看着

  hduser@dn4:/app/hadoop/tmp/myoutput$ ls -lrt total 16 drwxr-xr-x 2 hduser hadoop 4096 Dec 12 10:50 tt_log_tmp drwx------ 3 hduser hadoop 4096 Dec 12 10:53 ttprivate drwxr-xr-x 3 hduser hadoop 4096 Dec 12 10:53 taskTracker drwxr-xr-x 4 hduser hadoop 4096 Dec 12 13:25 userlogs 

当我运行mapreduce工作时,我无法在这里找到任何东西。

谢谢

maps作业的输出存储在映射器的本地磁盘中。 一旦地图作业完成,这些本地输出就会转移到Reducer。 您可以检查$ HADOOP_HOME / conf / mapred-site.xml以检查映射器输出的存储位置。

  mapred.local.dir $DIR