【问题标题】:Hive Metastore tries to create a Derby connection instead of MySQLHive Metastore 尝试创建 Derby 连接而不是 MySQL
【发布时间】:2014-12-01 19:11:52
【问题描述】:

我在本地模式下使用 Hive 0.11 和 Metastore。当我尝试启动 Metastore 守护程序时,它在吐出以下错误消息后退出:

2013-11-21 08:47:19.541 GMT 线程[main,5,main] java.io.FileNotFoundException: derby.log(权限被拒绝)

2013-11-21 08:47:19.646 GMT Thread[main,5,main] 清理操作开始

错误 XBM0H:无法创建目录 /metastore_db。

这是我的hive-site.xml。我使用 MySQL 作为 Metastore 存储。我不明白的是为什么 Hive 试图在本地创建 metastore_db。

谢谢。

【问题讨论】:

    标签: hadoop hive cloudera


    【解决方案1】:

    hive.metastore.local 属性设置为false。 (从 Hive 0.10 开始删除:如果 hive.metastore.uris 为空,则假定为本地模式,否则为远程)

    使用有效 uri 设置 hive.metastore.uris 属性(Thrift 元存储服务器的主机和端口)

    例如:

    <property>
      <name>hive.metastore.uris</name>
      <value>thrift://hap-db:9083</value>
      <description>IP address (or fully-qualified domain name) and port of the metastore host</description>
    </property>
    

    【讨论】:

    • Suresh,我正在为 Hive 使用 0.11 版。所以我的配置文件中没有 hive.metastore.local 参数。 hive.metastore.uris 参数在本地模式下为 Metastore 设置。所以我将值保留为 thrift://0.0.0.0:9083。我也尝试过注释掉那个参数。 Hive 仍然去德比。
    【解决方案2】:

    嗨,在 hive 0.14 上遇到了类似的问题。我以 root 用户身份安装了 hive,并试图以我用于所有 hadoop 作业的 sudo 用户身份运行 hive 服务。 一旦我将安装所有者更改为 sudo 并重新启动它就可以了。所以这个错误主要与文件权限问题有关。

    【讨论】:

      猜你喜欢
      • 2014-02-22
      • 1970-01-01
      • 2016-05-15
      • 2022-09-28
      • 1970-01-01
      • 2018-11-25
      • 1970-01-01
      • 2022-06-14
      • 2016-08-12
      相关资源
      最近更新 更多