2013-10-28 163 views
1

我正在使用TestDFSIO和TeraSort基准测试工具进行多个Hadoop测试。我基本上用不同数量的datanodes进行测试,以评估处理能力和数据节点可伸缩性的线性。Hadoop在重新启动时删除MapReduce历史记录

在上述过程中,我显然必须重启几次所有的Hadoop环境。每次我重新启动Hadoop时,所有MapReduce作业都将被删除,作业计数器将再次从“job_2013 * _0001”开始。出于比较的原因,保持我之前启动的所有MapReduce作业对我来说非常重要。所以,我的问题是:

¿如何避免Hadoop在重新启动后删除所有MapReduce作业历史记录? ¿Hadoop环境重新启动后是否有某些属性可以控制作业的删除?

谢谢!

回答

0

在重新启动hadoop后,MR作业历史日志不会被正确删除,新作业将从* _0001开始计数,只有在hadoop重新启动后启动的新作业才会显示在资源管理器Web门户上。事实上,有来自yarn default 2个日志相关的设置:

# this is where you can find the MR job history logs 
yarn.nodemanager.log-dirs = ${yarn.log.dir}/userlogs 

# this is how long the history logs will be retained 
yarn.nodemanager.log.retain-seconds = 10800 

,默认$ {} yarn.log.dir在$ HADOOP_HONE的/ etc/Hadoop的/ yarn-env.sh定义。

YARN_LOG_DIR="$HADOOP_YARN_HOME/logs" 

顺便说一句,类似的设置也可以在mapred-env.sh如果你是使用Hadoop的1.X

+0

谢谢Zhutoulala的回答中发现。我虽然有任何机构会给我一个答案。我会测试你的建议! – VikBar