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


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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM