分享

hive查询结果完成后,am一直running

hive on spark执行结束后正常返回了结果,但是am一直在running状态,这是正常的么?

已有(9)人评论

跳转到指定楼层
s060403072 发表于 2018-11-22 19:44:41
不正常,一直running这个很好判断的,到resourcemanager和nodemanager里面看看日志是否还增加。通过tail -f监控。如果运行日志不断的增加说明,只running,如果运行日志没有增加,说明僵尸进程了。
回复

使用道具 举报

zenppl 发表于 2018-11-26 11:34:29
本帖最后由 zenppl 于 2018-11-26 11:40 编辑
s060403072 发表于 2018-11-22 19:44
不正常,一直running这个很好判断的,到resourcemanager和nodemanager里面看看日志是否还增加。通过tail -f ...

以下是我复现的结果,rm的日志不增加了,但是有两台节点(共6台数据节点)上的nm的日志一直在增加且重复同样的内容如下
节点1 WechatIMG142.jpeg
节点2 WechatIMG141.jpeg

当时yarn web ui 中状态
WechatIMG140.jpeg

还请大佬们帮忙再看下




回复

使用道具 举报

yaojiank 发表于 2018-11-26 12:03:42
本帖最后由 yaojiank 于 2018-11-26 12:05 编辑
zenppl 发表于 2018-11-26 11:34
以下是我复现的结果,rm的日志不增加了,但是有两台节点(共6台数据节点)上的nm的日志一直在增加且重复同 ...
从上面提供的信息来看,其实yarn的工作基本已经完成了。namenode可能还有些工作。
这个多长时间。很可能是程序运行完毕了,但是一些扫尾的工作还未完成。可以再次运行观察下。
回复

使用道具 举报

zenppl 发表于 2018-11-26 13:53:23
yaojiank 发表于 2018-11-26 12:03
从上面提供的信息来看,其实yarn的工作基本已经完成了。namenode可能还有些工作。
这个多长时间。很可能是 ...

会一直持续running下去,除非手动kill
回复

使用道具 举报

yaojiank 发表于 2018-11-26 19:04:17
zenppl 发表于 2018-11-26 13:53
会一直持续running下去,除非手动kill

看下是所有的sql都这样,还是就这一个。
如果所有都这样,建议看下配置
如果特定的sql,建议查下sql的问题
回复

使用道具 举报

zenppl 发表于 2018-11-27 15:57:34
yaojiank 发表于 2018-11-26 19:04
看下是所有的sql都这样,还是就这一个。
如果所有都这样,建议看下配置
如果特定的sql,建议查下sql的 ...

所有都这样。然而我知道的配置都看过了,现在并不知道再去哪里检查问题所在。
回复

使用道具 举报

zenppl 发表于 2018-11-27 17:18:15
yaojiank 发表于 2018-11-26 19:04
看下是所有的sql都这样,还是就这一个。
如果所有都这样,建议看下配置
如果特定的sql,建议查下sql的 ...

补充一下,貌似是12个小时没有操作后就不再running了。看上去像是某个参数导致的,我再看看,如果有人遇到过此问题烦请告知我参数。
WechatIMG348.jpeg
回复

使用道具 举报

zenppl 发表于 2018-11-27 18:21:14
zenppl 发表于 2018-11-27 17:18
补充一下,貌似是12个小时没有操作后就不再running了。看上去像是某个参数导致的,我再看看,如果有人遇 ...

找到了,结贴

5) If hive.server2.session.check.interval = 0 and hive.server2.idle.session.timeout > 0, then it will have the same effect that hive.server2.idle.session.timeout = 0, because no idle timer will be triggered as check interval is disabled


6) If hive.server2.session.check.interval > hive.server2.idle.session.timeout > 0, then the actual time out will be the same as hive.server2.session.check.interval.


For example if hive.server2.session.check.interval = 20 minutes, but hive.server2.idle.session.timeout = 10 minutes, then timeout will happen when checking happens, which is 20 minutes.


The basic rule of thumb is as follows:
hive.server2.session.check.interval < hive.server2.idle.operation.timeout < hive.server2.idle.session.timeout


回复

使用道具 举报

yaojiank 发表于 2018-11-27 19:56:19
zenppl 发表于 2018-11-27 18:21
找到了,结贴

5) If hive.server2.session.check.interval = 0 and hive.server2.idle.session.timeou ...

5)如果hive.server2.session.check.interval = 0并且hive.server2.idle.session.timeout> 0,那么它将具有与hive.server2.idle.session.timeout = 0相同的效果,因为没有空闲 当禁用检查间隔时,将触发计时器


6)如果hive.server2.session.check.interval> hive.server2.idle.session.timeout> 0,则实际超时将与hive.server2.session.check.interval相同。


例如,如果hive.server2.session.check.interval = 20分钟,但hive.server2.idle.session.timeout = 10分钟,则在检查发生时将发生超时,即20分钟。


基本的经验法则如下:
hive.server2.session.check.interval <hive.server2.idle.operation.timeout <hive.server2.idle.session.timeout

########################
hive.server2.session.check.interval = 20分钟,这里设置小一些,可能完成后,时间应该就没有那么长了。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条