保存Hadoop中的映射器输出的位置



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

我创建了一个目录来存储此映射器输出,如下所示。

 <property>
 <name>mapred.local.dir</name>
 <value>/app/hadoop/tmp/myoutput</value>
 </property>                     

我看着

 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作业时,我在这里找不到任何东西。

谢谢

映射作业的输出存储在映射器的本地磁盘中。映射作业完成后,这些本地输出将传输到化简器。你可以检查你的$HADOOP_HOME/conf/mapred-site.xml来检查映射器输出的存储位置。

<property>
    <name>mapred.local.dir</name>
    <value>$DIR</value>
</property>

相关内容

  • 没有找到相关文章

最新更新