我一直在努力讓Hadoop和Map/Reduce在我的根目錄下開始使用單獨的臨時目錄而不是/ tmp。Hadoop/MR臨時目錄
我已經添加了以下到我的核心site.xml的配置文件:
<property>
<name>hadoop.tmp.dir</name>
<value>/data/tmp</value>
</property>
我已經添加了以下到我的MapReduce的site.xml的配置文件:
<property>
<name>mapreduce.cluster.local.dir</name>
<value>${hadoop.tmp.dir}/mapred/local</value>
</property>
<property>
<name>mapreduce.jobtracker.system.dir</name>
<value>${hadoop.tmp.dir}/mapred/system</value>
</property>
<property>
<name>mapreduce.jobtracker.staging.root.dir</name>
<value>${hadoop.tmp.dir}/mapred/staging</value>
</property>
<property>
<name>mapreduce.cluster.temp.dir</name>
<value>${hadoop.tmp.dir}/mapred/temp</value>
</property>
無論我做什麼工作,它仍然在/ tmp目錄中完成所有中間工作。我一直在通過df -h來觀看它,當我進入時,它會創建所有的臨時文件。
我是否缺少配置中的某些東西?
這是在運行Hadoop/Yarn Mapreduce的2.1.0.2.0.6.0的10節點Linux CentOS羣集上。
編輯: 經過一些進一步的研究,這些設置似乎在我的管理和namednode/secondarynamed節點框中工作。只有在數據節點上,這不起作用,只有在我的根驅動器上,仍然會對/ tmp映射的臨時輸出文件,而不是我在配置文件中設置的數據裝入位置。
您是否對每個配置文件(每個節點中)進行了更改?節點選擇自己的配置文件,而不是主節點。 – cabad
我們使用Ambari來管理集羣,並負責將管理節點中所有其他節點的更改推送出去。在進行更改後,我驗證了所有節點core-site.xml和mapred-site.xml文件都具有相同的配置更改。 – NotSoCleverDBA