我正试图监视示例MapReduce应用程序的作业,在权威的Hadoop书中称为“查找最高温度”。在Hadoop-2.6的默认安装和配置中,该应用程序运行良好,即计算年最高温度。但是在我扩展了mapred-site.xml和yar-site.xml的配置之后,如下所示(摘自How do I view my Hadoop job history and logs using CDH4 and Yarn?和YARN job history not coming)
mapred-site.xml:
<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:
<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应用程序时,应用程序很好地完成并输出名为part-r-00000的文件,但是在localhost:19888的JobHistory页面上看不到它。(与此同时,localhost上的其他页面:8042,localhpst:8088,localhost:50070工作正常)
有什么方法可以看到所有的作业,因为它们运行在任何Hadoop页面上吗?
有时,当我运行同一个应用程序时,它会出现以下错误:
17/09/19 11:07:49 INFO mapreduce.Job:任务Id : attempt_1505767853223_0003_m_000005_1,状态:失败的容器启动失败了,对于sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native :sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法,auxService:mapreduce_shuffle不存在),在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62),sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45),java.lang.reflect.Constructor.newInstance(Constructor.java:422),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(java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
如果它给出了这个错误,它就会出现在JobHistory页面上。我不知道为什么有时会失败,但它发生在Hadoop的新启动之后:/usr/local/hadoop-2.6.0/sbin/mr-jobhistory-daemon.sh start -dfs.sh和 start -yarn.sh,以及在3个作业失败后出现的SS:
发布于 2017-09-19 16:20:24
谷歌搜索的org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException: auxService:mapreduce_shuffle不存在,返回了这个,所以发布shuffle does not exist
将这些行添加到丝-site.xml中的配置中:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
解决了问题。现在,所有的工作,无论是失败还是成功,都会出现在JobHistory页面上。这是一个党卫军:
https://stackoverflow.com/questions/46295528
复制相似问题