我有兴趣有效管理Hadoop混洗流量并有效利用网络带宽。为此,我想知道每个Datanode产生的混乱流量是多少?洗牌流量只不过是映射器的输出。那么这个映射器输出保存在哪里?如何实时获取每个数据节点的映射器输出大小?感谢您的帮助。
我已经创建了一个存储此映射器输出的目录,如下所示。
<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工作时,我无法在这里找到任何东西。
由于
答案 0 :(得分:5)
maps作业的输出存储在映射器的本地磁盘中。一旦地图作业完成,这些本地输出就会转移到减速器。您可以检查 $ HADOOP_HOME / conf / mapred-site.xml 以检查映射器输出的存储位置。
<property>
<name>mapred.local.dir</name>
<value>$DIR</value>
</property>