写这篇文章之前,先吐槽吐槽我的心情。这个bug真的是折磨了我整整3天啊。第一天安装hive的时候,遇到了bug,然后修了修,未果。第二、三。。。继续修,虽然每天可能就2h在搞这个bug,但也让我很头疼,hive安装不好,后面的HQL无法运行。
我在三台虚拟机上反复安装了三遍,前面两台一直在寻找解决bug的方法,都没有结果。后面在第三台虚拟机上安装的时候,一道道命令测试是否成功。hive安装好了就试试hive,mysql安装好了就试试mysql。发现都没问题,那就是在Metastore上面,结果是Metastore未开启服务。
参考了其他的博客文章,跟我的bug不匹配,大家如果发现我的bug跟大家不匹配的话,可以参考参考这篇文章:
Hive报错:FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me – Geoffrey-Peng – 博客园 (cnblogs.com)
反正报这个错的原因就是跟Metastore有关,跟hive、mysql无关,那就要检查是hive服务未开启,还是配置错误。
我的bug解决方法:
重点:(每次重启虚拟机都要记得开启以下环境)
hive运行需要开启集群环境(命令:myhadoop.sh start)
注意:未开启集群环境,hive启动不起来,会显示连接失败异常。
hive运行需要开启Metastore。
注意:未开启hive服务,就会显示我的这个bug。
(服务脚本使用方法:hvservice.sh start或stop或restart(重启)或status(查看状态))
注意:hvservice.sh start 后,需要等一会才会开启,可以使用hvservice.sh status命令查看状态。
集群环境、hive服务脚本都启动了之后,再开启hive运行HQL命令,就正常可以使用了。
这个bug真的是搞得我很烦,后面睡了一个下午,刚好天气下蒙蒙雨了,起来后神清气爽的,就重新安装了一下环境,刚开始也还是会报错,然后我又把服务开起来了,结果成功了。小意外的惊喜。所以这篇博客值得记录一下,为初学者扫清学习障碍。同时也记录一下我的经历。