本文主要是介绍问题解决:Given NMToken for application : appattempt_xxx is not valid for current node manager,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 问题场景
- 问题环境
- 问题原因
- 解决方案
- 结果
- 总结
- 随缘求赞
问题场景
登录服务器,使用hive -f test.sql
命令,启动了统计脚本。但是,经过了SQL
校验通过之后,启动就报错了。登录Hadoop
控制台,点开了自己的应用,发现了以下报错提示:
问题环境
软件 | 版本 |
---|---|
CDH | 5.15.1 |
Hive | 1.1.0 |
Centos | 7 |
问题原因
从报错提示,我们可以看到,现在的任务在某个节点是不合法的。原本期待是SLAVE21:8041
,但是实际是slave21:8041
。
从这个,或许有聪明的读者猜出原因了,这个就是域名啊!!!
那么,是不是因为/etc/hosts
文件里面,存在重复的域名映射呢?
让我们打开/etc/hosts
文件来一探究竟吧,下图是我的检查结果:
没想到真的存在重复的域名映射!!!
一般而言,域名的大小写是没有区别的,一般在映射的时候,都会做一定的转换,比如转成小写,然后再访问。所以,这个存在多个重复的域名,那hive
之前是指定了126结尾的ip
的,但下一次获取,又拿到了102结尾的ip
的。两边不一致导致了报错!
解决方案
将重复的域名修改成不同的域名即可。这个要根据实际的业务场景来。因为服务器不是我进行维护的,所以只是将这个问题告知了集群的维护团队,由他们将重复的域名进行修改!
结果
/etc/hosts
文件修改之后,再执行hive -f test.sql
,顺利地跑起来了,没有出现问题!
总结
问题的发生有各种的原因,找到原因并解决,才是最快的方法!!!
随缘求赞
如果我的文章对大家产生了帮忙,可以在文章底部点个赞或者收藏;
如果有好的讨论,可以留言;
如果想继续查看我以后的文章,可以点击关注
可以扫描以下二维码,关注我的公众号:枫夜之求索阁,查看我最新的分享!
这篇关于问题解决:Given NMToken for application : appattempt_xxx is not valid for current node manager的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!