为什么Hive返回FAILED:SemanticException ...无法实例化

时间:2018-03-30 14:45:32

标签: hadoop terminal hive

我已经安装了Hive,将其添加到PATH并且能够使用终端中的hive命令打开它。

但是,当我尝试运行

等基本命令时

SHOW TABLES;

我收到错误:

FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

我所遵循的说明并未暗示必须实例化任何内容。

供参考,我使用的是Hadoop:The Definitive Guide(第4版)一书,并在我的机器上本地运行。

运行JPS时,以下服务正在运行:

2528 DataNode 7232 RunJar 2441 NameNode 7401 Jps 2634 SecondaryNameNode 282 2842 NodeManager 2751 ResourceManager

2 个答案:

答案 0 :(得分:1)

我通过删除derby数据库文件来修复

rm -rf $HIVE_HOME/bin/metastore_db 

$HIVE_HOME/bin/schematool -initSchema -dbType derby

答案 1 :(得分:0)

我能够通过初始化架构来解决此问题。我很惊讶它在任何地方都没有提到。

初始化架构:

  1. 导航到您的Hive安装文件夹
  2. [安装文件夹] / bin / schematool -initSchema -dbType derby
  3. 接下来,您应该收到一些确认消息

    Metastore连接驱动程序:org.apache.derby.jdbc.EmbeddedDriver Metastore连接用户:APP 启动Metastore架构初始化为2.3.0 初始化脚本hive-schema-2.3.0.derby.sql 初始化脚本已完成 schemaTool已完成

  4. 启动配置单元

  5. 运行任何基本命令以确定Hive是否正常运行,例如SHOW TABLES;