我无法运行show数据库;命令终端上的配置单元

时间:2017-09-25 13:20:31

标签: database hadoop hive metadata hql

写作时

> 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

请为此提供解决方案吗?

2 个答案:

答案 0 :(得分:0)

运行此命令sub hive目录;

bin/schematool -initSchema -dbType derby

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

start-all.sh

此命令运行。

答案 1 :(得分:0)

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

如果进行手动设置,可能是元凶!

1)如果需要,您可以首先检出hive-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也如上所述正确设置