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 中间输出的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 map reduce 的情况下使用 lzo 压缩写入 hadoop hdfs
如何使用 SELECT INTO OUTFILE 写入 /tmp 以外的目录?