首页>> 正文

大数据运维问题记录(二)

来源:商群邮件营销时间:2016-07-14 06:45:46点击:1647

添加关注
作者 火车飞侠 2016.07.13 18:34
写了880字被0人关注获得了0个喜欢

大数据运维问题记录(二)

问题描述:一个项目组的同事反应他们的集群hive突然出现了问题,走mr就报错

问题解决:首先问了下他们最近做了些什么操作,说是最近在lib下复制了一些jar包,后来就出现这个问题,把复制过来的jar包删除了也没用,发了些日志也只是hive报出来的表面现象,所以还是远程协助进行解决,打开resource manager查看到出错的日志如下

Application application_1464140393518_0021 failed 2 times due to Error launching appattempt_1464140393518_0021_000002. Got exception: org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container.

This token is expired. current time is 1468393291214 found 1468392500369

at sun.reflect.GeneratedConstructorAccessor36.newInstance(Unknown Source)

...

大概意思是在创建container的时候没有权限,token过期了,最重要的一点是

current time is 1468393291214 found 1468392500369这说明时间同步可能有问题

让他们查了一下时间同步是否开启或者是否设置,最后查出来是因为ntp服务启了,但是可能中间有段时间有问题,服务器之间时间差异太大,同步时间后,再运行就不报这个错了

查看资料知道nodemanager有个NMLivelinessMonitor服务

该服务周期性遍历所有NodeManager,如果一个NodeManager在一定时间(可通过参数yarn.nm.liveness-monitor.expiry-interval-ms配置,默认为10min)内未汇报心跳信息,则认为它死掉了,它上面所有正在运行的Container将被置为运行失败(RM不会重新执行这些Container,它只会通过心跳机制告诉对应的AM,由AM决定是否重新执行,如果需要,则AM重新向RM申请资源)。

结合遇到的这个现象可以得出节点时间不同步导致时间相差太大,让nodemanager认为在超过10min没有汇报心跳

所以遇到问题不要只看表面现象,要根据日志进行分析解决

问题描述:一个项目组的同事反应他们的集群hive突然出现了问题,走mr就报错

问题解决:首先问了下他们最近做了些什么操作,说是最近在lib下复制了一些jar包,后来就出现这个问题,把复制过来的jar包删除了也没用,发了些日志也只是hive报出来的表面现象,所以还是远程协助进行解决,打开resource manager查看到出错的日志如下

Application application_1464140393518_0021 failed 2 times due to Error launching appattempt_1464140393518_0021_000002. Got exception: org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container.

This token is expired. current time is 1468393291214 found 1468392500369

at sun.reflect.GeneratedConstructorAccessor36.newInstance(Unknown Source)

...

大概意思是在创建container的时候没有权限,token过期了,最重要的一点是

current time is 1468393291214 found 1468392500369这说明时间同步可能有问题

让他们查了一下时间同步是否开启或者是否设置,最后查出来是因为ntp服务启了,但是可能中间有段时间有问题,服务器之间时间差异太大,同步时间后,再运行就不报这个错了

查看资料知道nodemanager有个NMLivelinessMonitor服务

该服务周期性遍历所有NodeManager,如果一个NodeManager在一定时间(可通过参数yarn.nm.liveness-monitor.expiry-interval-ms配置,默认为10min)内未汇报心跳信息,则认为它死掉了,它上面所有正在运行的Container将被置为运行失败(RM不会重新执行这些Container,它只会通过心跳机制告诉对应的AM,由AM决定是否重新执行,如果需要,则AM重新向RM申请资源)。

结合遇到的这个现象可以得出节点时间不同步导致时间相差太大,让nodemanager认为在超过10min没有汇报心跳

所以遇到问题不要只看表面现象,要根据日志进行分析解决

欢迎大家继续关注慧邮件邮件营销平台,也可以在我们的慧邮件官网了解更多邮件营销技巧,大数据知识,也可以通过电话:400-666-5494联系到我们,更多精彩知识、活动等着你。

  • *真实姓名:
  • *手机号码:
  • 公司名称:
  • 咨询内容:

CopyRight © 2009 - 2020 All Right Reserved 备案号:闽ICP备15004550号-275

厦门书生企友通科技有限公司 QYT.com 版权所有