【问题标题】:I can not run show databases; command on terminal for hive我无法运行显示数据库;蜂巢终端上的命令
【发布时间】:2017-09-25 13:20:30
【问题描述】:

当我写作时

> 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

你能提供一个解决方案吗?

【问题讨论】:

    标签: database hadoop hive metadata hql


    【解决方案1】:

    运行这个命令子hive目录;

    bin/schematool -initSchema -dbType derby
    

    所以,请确保服务已启动;

    start-all.sh
    

    这个命令运行。

    【讨论】:

      【解决方案2】:

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

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

      1) 如果需要,您可以先查看 hive-site.xml(在我的情况下位于 $HIVE_HOME/conf 是 /usr/local/hive/conf),但无论如何这是最初设置的默认值

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

      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 也如上所述正确设置

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多