我无法 运行 显示数据库;蜂巢终端命令

I can not run show databases; command on terminal for hive

当我写

> show databases;

在 Hive 中,出现以下错误;

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

能否请您提供解决方案?

运行此命令子配置单元目录;

bin/schematool -initSchema -dbType derby

因此,请确保服务已启动;

start-all.sh

此命令运行。

这可能是由于默认设置:/user/hive/warehouse(在 hive-site.xml 中)未正确创建或未授予权限。 (请注意这是**user,不是usr

如果您进行手动设置,这可能是罪魁祸首!

1) 如果需要,您可以先查看配置单元-site.xml(位于 $HIVE_HOME/conf,在我的例子中是 /usr/local/hive/conf),但这是最初设置的默认值不管怎样

2) 使用hadoop fs -ls /user/hive/warehouse检查Hadoop中的路径是否存在?

3) 使用以下命令创建 Hadoop 文件夹:hadoop fs -mkdir /usr/hive/wawrehouse 如果不存在,使用 Hadoop fs -ls 查看访问权限.....................

4) 使用 Hadoop fs -chmod g+w /usr/............ 授予所需的权限

要么是用户vs usr,要么是仓库的设置,可能是常见的原因

参考(来自hive-site.xml):

<property>
   <name>hive.metastore.warehouse.dir</name>
   <value>/user/hive/warehouse</value>
   <description>location of default database for the warehouse</description>
</property>

注意:您还必须确保另一个 Hadoop 文件夹 /tmp 也已正确设置,如上