当我写作的时候
> 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
你能提供一个解决方案吗?
i2byvkas1#
这可能是由于默认设置:/user/hive/warehouse(在hive site.xml中)未正确创建或未授予权限(请注意这是**用户,不是usr)这可能是罪魁祸首,如果你正在做一个手动设置!1) 如果需要,您可以首先 checkout hive-site.xml(在我的示例中位于$hive\u home/conf是/usr/local/hive/conf),但这是最初设置的默认值2) 使用hadoopfs-ls/user/hive/warehouse检查hadoop中的路径是否存在?3) 使用hadoop fs-mkdir/usr/hive/wawrehouse创建hadoop文件夹如果不存在,请查看使用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也按上述方式正确设置
laawzig22#
在子配置单元目录下运行此命令;
bin/schematool -initSchema -dbType derby
因此,确保服务已启动;
start-all.sh
运行此命令。
2条答案
按热度按时间i2byvkas1#
这可能是由于默认设置:/user/hive/warehouse(在hive site.xml中)未正确创建或未授予权限(请注意这是**用户,不是usr)
这可能是罪魁祸首,如果你正在做一个手动设置!
1) 如果需要,您可以首先 checkout hive-site.xml(在我的示例中位于$hive\u home/conf是/usr/local/hive/conf),但这是最初设置的默认值
2) 使用hadoopfs-ls/user/hive/warehouse检查hadoop中的路径是否存在?
3) 使用hadoop fs-mkdir/usr/hive/wawrehouse创建hadoop文件夹如果不存在,请查看使用hadoop fs-ls的访问权限。。。。。。。。。。。。。。。
4) 使用hadoop fs-chmod g+w/usr/。。。。。。。。。。。。。。。。。授予必要的权利
无论是用户vs usr,还是仓库的设置,都可能是常见的原因
引用(来自hive site.xml):
注意:您还必须确保另一个hadoop文件夹/tmp也按上述方式正确设置
laawzig22#
在子配置单元目录下运行此命令;
因此,确保服务已启动;
运行此命令。