Hadoop 继续在 /tmp 目录中写入 mapred 中间输出

Posted

技术标签:

【中文标题】Hadoop 继续在 /tmp 目录中写入 mapred 中间输出【英文标题】:Hadoop keeps on writing mapred intermediate outuput in /tmp directory 【发布时间】:2014-04-01 10:43:14 【问题描述】:

我在 /tmp 中的容量有限,因此我想将 mapred 的所有中间输出移动到更大的分区中,例如 /home/hdfs/tmp_data。 如果我理解正确,我只需要设置

<property>
<name>mapred.child.tmp</name>
<value>/home/hdfs/tmp_data</value>

在 mapred-site.xml 我通过 Ambari 重新启动集群,我检查了所有内容都写入了 conf 文件中, 但是,当我运行一个猪脚本时,它一直在写:

/tmp/hadoop-hdfs/mapred/local/taskTracker/hdfs/jobcache/job_localXXX/attempt_YY/output 我还将 core-site.xml 中的 hadoop.tmp.dir 修改为 /home/hdfs/tmp_data ,但没有任何变化。 是否有任何参数会覆盖我的设置?

【问题讨论】:

【参考方案1】:

尝试覆盖 tasktracker 节点 mapred-site.xml 文件中的以下属性并重新启动它。

<property>
<name>mapred.local.dir/name>
<value>/home/hdfs/tmp_data</value>
</property>

【讨论】:

以上是关于Hadoop 继续在 /tmp 目录中写入 mapred 中间输出的主要内容,如果未能解决你的问题,请参考以下文章

关于 hadoop.tmp.dir 理解及配置

Hadoop dfs目录

如何在不使用 map reduce 的情况下使用 lzo 压缩写入 hadoop hdfs

如何使用 SELECT INTO OUTFILE 写入 /tmp 以外的目录?

windows 运行hadoop自带例子程序wordcount总是死在Map 0% Reduce0%

名称节点未运行