Java教程

Hive报错:FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hiv

本文主要是介绍Hive报错:FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hiv,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Hive启动后,执行SQL报如下的错:

FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me

根据提示:无法启动元数据服务。

方向一:尝试重新初始化元数据(该方法无效,看方向二)

1.删除mysql中的matestore库:

mysql -uroot -p123456

drop database matestore;

create database matestore;

 

2.执行初始化命令:

schematool -initSchema -dbType mysql -verbose

初始化成功。

 

3.尝试在hive客户端使用SQL看是否报错:

bin/hive

show databses;

结果:依然报错,报同样的错。

分析:初始化成功了,检查hive-site.xml也没有问题。根据报错,是元数据服务没有启动,尝试手动启动该服务。

 

方向二:手动启动hive的元数据服务:

hive --service metastore

hive客户端尝试SQL语句,可以使用,已解决。

另:hiveserver2启动命令,用于jdbc连接:

bin/hive --service hiveserver2

 

注:matestore服务需要在hive-site.xml文件中做如下配置:

    <!-- 指定存储元数据要连接的地址 -->

    <property>

        <name>hive.metastore.uris</name>

        <value>thrift://hadoop102:9083</value>

    </property>

注:hiveserver2服务需要在hive-site.xml文件中做如下配置:

    <!-- 指定hiveserver2连接的host -->
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>hadoop102</value>
    </property>

    <!-- 指定hiveserver2连接的端口号 -->
    <property>
        <name>hive.server2.thrift.port</name>
        <value>10000</value>
    </property>

 

这篇关于Hive报错:FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hiv的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!