开启Hadoop/Yarn的日志监控功能,解决web端查看日志时的Java.lang.Exception:Unknown container问题

问题描述

今天在yarn上跑一个hadoop任务时,通过yarn的web管理后台(serveraddress:8088)想查看该任务的的任务时,发现提示如下错误:

Java.lang.Exception:Unknown container.Container either has not started or has already completed or doesn;t belong to this node at all.

这里写图片描述
这里写图片描述

解放方法

下来查询官方文档后,才了解到yarn的日志监控功能默认是处于关闭状态的,需要我们进行开启,开启步骤如下:

Ps:下面配置的文件的位置在hadoop根目录 etc/haddop文件夹下,比较老版本的Hadoop是在hadoop根目录下的conf文件夹中

一、在yarn-site.xml文件中添加日志监控支持

该配置中添加下面的配置:

<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

二、在mapred-site.xml文件中添加日志服务的配置

该配置文件中添加如下配置:

<property>
    <!-- 表示提交到hadoop中的任务采用yarn来运行,要是已经有该配置则无需重复配置 -->
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
  <!--日志监控服务的地址,一般填写为nodenode机器地址 -->
    <name>mapreduce.jobhistroy.address</name>
    <value>master:10020</value>
</property>
<property>
    <name>mapreduce.jobhistroy.webapp.address</name>
    <value>master:19888</value>
</property>

三、将修改后的配置文件拷贝到集群中的其他机器(单机版hadoop可以跳过该步骤)

快捷一点可以使用 scp 命令将配置文件拷贝覆盖到其他机器

scp yarn-site.xml skyler@slave1:/hadoopdir/etc/hadoop/

scp mapred-site.xml skyler@slave1:/hadoopdir/etc/hadoop/

…其他datanode机器同理

四、重新启动集群的Hdfs和Yarn服务

在namenode机器上分别对hdfs和yarn服务进行重启

bin/stop-dfs.sh

bin/start-dfs.sh

bin/stop-yarn.sh

bin/start-yarn.sh

五、 开启日志监控服务进程

在nodenode机器上执行 sbin/mr-jobhistory-daemon.sh start historyserver 命令,执行完成后使用jps命令查看是否启动成功,若启动成功则会显示出JobHistoryServer服务
这里写图片描述

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值