gpt4 book ai didi

hadoop - 如何配置 Hive Metastore 以使用本地文件系统而不是 Derby?

转载 作者:可可西里 更新时间:2023-11-01 16:27:43 24 4
gpt4 key购买 nike

我正在尝试建立一个本地配置单元实例,并希望将本地文件系统用作我的元存储和数据仓库。是否可以在不使用 derby 的情况下实现这一点?

正在关注 How to use Hive without hadoop ,我设置了我的 hive-site.xml,如下所示:

<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.metadb.dir</name>
<value>file:///var/metastore/metadb/</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>file:///var/metastore/metadb/</value>
<description></description>
</property>
<property>
<name>fs.default.name</name>
<value>file:///tmp</value>
</property>
</configuration>

我希望我应该能够在我的终端上毫无问题地运行 hive,但是我遇到了以下错误:

Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, don't forget to include the option to auto-create the underlying database in your JDBC connection string (e.g. ?createDatabaseIfNotExist=true for mysql))

我没有使用 JDBC 元存储(即 derby),那么为什么我仍然需要使用 JDBC 连接字符串(根据错误消息?)。甚至可以在没有 derby 的情况下运行本地配置单元实例吗?

最佳答案

Hive metastore 进程不能只使用一个文件系统。它需要一个关系数据库。 “Hive 仓库”则不同,它存储内部的、托管的 Hive 表,可以是任何 Hadoop 兼容的文件系统(例如本地磁盘)

Derby 要么存储在内存中,要么持久存储在磁盘上,但是使用 Mysql 或 Postgres 可以获得更好的性能

注意:Hive 仍然需要 Hadoop 库,因此“没有 Hadoop”是不可能的,即使您没有使用 YARN 或 HDFS

此外,属性 fs.default.name 已被弃用并替换为 fs.defaultFS 并且必须位于 core-site.xml 中,它不是有效的配置单元-站点属性

I am not using a JDBC metastore (i.e. derby),

是的,你是,通过 Hive 默认属性

javax.jdo.option.ConnectionURL=jdbc:derby:;databaseName=metastore_db;create=true

关于hadoop - 如何配置 Hive Metastore 以使用本地文件系统而不是 Derby?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56428629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com