gpt4 book ai didi

mysql - 无法启动 Hive 并且 Trino 中不存在目录 'hive'

转载 作者:行者123 更新时间:2023-12-02 18:58:11 28 4
gpt4 key购买 nike

我安装了 Apache Hive 3、Apache Hadoop 3、MySQL 和 Trino 来查询数据。我启动了 Hive Metastore,MySQL 正在运行。但是当我在 Trino 中运行一个简单的查询时:

trino> 显示默认表; ==> 失败:第 1:1 行:目录“hive”不存在

当我尝试启动 Hive CLI 时。我遇到了这个异常:

Hive Session ID = dd740516-a5d0-4f8d-ae24-065e2cfe889c 
Exception in thread "main" java.lang.ClassCastException: jdk.internal.loader.ClassLoaders$AppClassLoader incompatible with java.net.URLClassLoader
at org.apache.hadoop.hive.ql.session.SessionState.<init>(SessionState.java:413)
at org.apache.hadoop.hive.ql.session.SessionState.<init>(SessionState.java:389)
at org.apache.hadoop.hive.cli.CliSessionState.<init>(CliSessionState.java:60)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:705)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:683)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.hadoop.util.RunJar.run(RunJar.java:318)
at org.apache.hadoop.util.RunJar.main(RunJar.java:232)

我尝试将这些属性添加到 hive-site.xml,但无法启动 Hive CLI。

<property> 
<name>system:java.io.tmpdir</name>
<value>/tmp/hive</value>
</property>
<property>
<name>system:user.name</name>
<value>${user.name}</value>
</property>

有人可以帮忙吗?非常感谢

最佳答案

我可以回答有关 Trino CLI 的第一个问题。

在 Trino 中对 HDFS 中的数据运行查询之前,您需要先配置 Hive 连接器目录。在您的 Trino 安装中,应该有一个 etc目录。该目录下是etc/catalog目录。

创建一个新文件etc/catalog/hive.properties并添加以下配置。

connector.name=hive-hadoop2
hive.metastore.uri=thrift://<your-metastore-ip-address>:9083

让我们来解释一下这些属性的含义:

  1. connector.name=hive-hadoop2表示目录将使用 Trino hive 连接器。
  2. hive.metastore.uri=thrift://<your-metastore-ip-address>:9083告诉 Trino 在哪里可以找到随 Hive 安装的元存储。

如果您不确定在哪里可以找到您的 Metastore IP 地址,the hive documentation指示一些包含它们的配置文件,具体取决于您运行的 Hadoop/Hive 版本。

Hive 和 Trino 共享元存储,但在完全不同的资源上运行查询。我wrote this blog当人们开始使用 Trino 时帮助介绍这些概念。也许它可以在您开始时有所帮助。

假设您的设置没有什么太复杂的,那么这应该就是所需要的。在 some cases您可能需要hive.config.resources包含您的 hdfs-site.xml 的路径和core-site.xml .

关于mysql - 无法启动 Hive 并且 Trino 中不存在目录 'hive',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65926460/

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