2017-09-19 55 views
0

我正在尝试监视示例MapReduce应用程序的作业,该应用程序称为在The Definitive Hadoop书中查找最大温度。在Hadoop-2.6的默认安装和配置中,该应用程序可以很好地工作,即它可以计算每年的最高温度。但经过我扩展mapred-site.xml中和纱线的site.xml像这些的配置:Hadoop JobHistory只显示失败的作业

<property> 
    <name> mapreduce.framework.name</name> 
    <value>yarn</value> 
</property> 
<property> 
    <name>mapreduce.jobhistory.address</name> 
    <value>localhost:10020</value> 
</property> 
<property> 
    <name>mapreduce.jobhistory.webapp.address</name> 
    <value>localhost:19888</value> 
</property> 

纱-site.xml中:

mapred-site.xml中(从How do I view my Hadoop job history and logs using CDH4 and Yarn?YARN job history not coming截取) :

<property> 
     <name>yarn.log-aggregation-enable</name> 
     <value>true</value> 
    </property> 
    <property> 
    <name>yarn.nodemanager.remote-app-log-dir</name> 
    <value>/app-logs</value> 
    </property> 
    <property> 
     <name>yarn.nodemanager.remote-app-log-dir-suffix</name> 
     <value>logs</value> 
    </property> 

,当我运行相同的应用程序MaxTemperature,应用程序完成精细,它被称为输出部分-R-00000的文件,但它不能在JobHistory页面上位于localhost看到:19888。 (与此同时localhost:8042,localhpst:8088和localhost:50070的其他页面正常工作)

有没有办法让我看到所有的工作,因为他们在任何Hadoop页面上运行?

有时当我运行相同的应用程序,它提供了这个错误:

17/09/19 11:07:49 INFO mapreduce.Job: Task Id : attempt_1505767853223_0003_m_000005_1, Status : FAILED Container launch failed for container_1505767853223_0003_01_000013 : org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException: The auxService:mapreduce_shuffle does not exist at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at org.apache.hadoop.yarn.api.records.impl.pb.SerializedExceptionPBImpl.instantiateException(SerializedExceptionPBImpl.java:168) at org.apache.hadoop.yarn.api.records.impl.pb.SerializedExceptionPBImpl.deSerialize(SerializedExceptionPBImpl.java:106) at org.apache.hadoop.mapreduce.v2.app.launcher.ContainerLauncherImpl$Container.launch(ContainerLauncherImpl.java:155) at org.apache.hadoop.mapreduce.v2.app.launcher.ContainerLauncherImpl$EventProcessor.run(ContainerLauncherImpl.java:369) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

,如果它给这个错误,它在JobHistory页面显示出来。我不知道为什么它有时会失败,但它发生在Hadoop的新开始之后:start-dfs.shstart-yarn.sh/usr/local/hadoop-2.6.0/sbin/ mr-jobhistory-daemon.sh开始historyserver 这里是一个SS后3个项目未能按这样的: enter image description here

回答

0

谷歌搜索的org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException:本auxService:mapreduce_shuffle不存在回复此SO帖子 org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException: The auxService:mapreduce_shuffle does not exist

将这些行添加到yarn-site.xml中的配置中:

<property> 
<name>yarn.nodemanager.aux-services</name> 
<value>mapreduce_shuffle</value> 
</property> 

解决了这个问题。现在所有的工作,无论是失败还是成功,都出现在JobHistory页面。这里是一个SS:

enter image description here