我正在单个节点群集下测试我的MR作业。 一旦我安装了mahout 9版本的Mapreduce作业就停止显示jobtracker的进度。(不知道是否在安装mahout后发生了这种情况)
当我在hadoop集群中运行作业时,它不会像以前那样在作业定位器UI中显示状态,并且控制台中显示的执行日志也不同(类似于mahout日志)
为什么会这样?
提前致谢。
答案 0 :(得分:2)
很可能你的工作可能正在使用LocalJobRunner。如果您的工作正在使用LocalJobRunner
,您会在mapreduce作业输出中发现mapred.LocalJobRunner
个事件。这可能有以下几个原因:
如果是MapReduce v1 :
确保您的mapred-site.xml
拥有属性mapred.job.tracker
并指向相应的JobTracker主机和端口:
<property>
<name>mapred.job.tracker</name>
<value>[fqdn_of_jobtracker]:[port_of_jobtracker]</value>
</property>
通常,如果hadoop无法读取属性mapreduce.framework.name
或者属性已设置为local
,则mapreduce将选择LocalJobRunner。
如果这没有消失,那么尝试使用hadoop的通用命令行选项显式指定属性,如:
hadoop jar hadoop-examples.jar pi -jt [fqdn_of_jt]:[port_of_jt] 2 1000
如果是YARN和MapReduce v2 :
如果您在这种情况下在YARN之上运行MapReduce,如果您未在LocalJobRunner
中指定mapreduce框架名称,则作业将由mapred-site.xml
运行,因此请确保您拥有以下财产:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>