hive命令启动出现classnotfound

2023-12-20 13:38:55

环境:ambari集群三个节点node104、node105和node106,其中node105上有hiveserver2,并且三个节点均有HIVE CLIENT

注意:“./”指hive安装目录

????????其中装有hiveserver2的node105节点,由于某种需要向lib目录下上传了某些jar包,并且通过ambari web修改了此项参数的值

? ? ? ? 做完以上变更后,发现在node104和node106上的hive安装目录下启动./bin/hive,进入hive命令行执行hive sql会出现classNotFoundexception的问题,而node105上启动./bin/hive则不会:

? ? ? ? 这个错误信息提示很明显,?该类无法被找到,发现无法找到的这个类和我之前修改的配置项的值相同,初步怀疑是./bin/hive在启动时会读取配置文件,当读取到此项配置项时,而lib目录下没有对应的jar包(上文中我提过,我仅在node105上lib目录下上传了某些jar包,而node104和node106上均未上传)

? ? ? ? 通过vim ./bin/hive查看hive命令,发现其中有两处可以支持我的猜想

?解决办法:在node104、node106上启动./bin/hive命令时,通过-hiveconf来规避参数变动带来的影响
hive.exec.post.hooks的默认值为空,所以设置“hive.exec.post.hooks=”

./bin/hive -hiveconf hive.exec.post.hooks=

成功进入执行./bin/hive命令

文章来源:https://blog.csdn.net/qq_44540985/article/details/135100725
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。