问题解决: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,顺利地跑起来了,没有出现问题!
在这里插入图片描述

总结

问题的发生有各种的原因,找到原因并解决,才是最快的方法!!!
在这里插入图片描述

随缘求赞

如果我的文章对大家产生了帮忙,可以在文章底部点个赞或者收藏;
如果有好的讨论,可以留言;
如果想继续查看我以后的文章,可以点击关注
可以扫描以下二维码,关注我的公众号:枫夜之求索阁,查看我最新的分享!
在这里插入图片描述
拜拜

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章