Hive 无法创建 Spark 会话

问题描述 投票:0回答:1

我尝试了很多,阅读了很多 Spark 和 Hive 的文档。事情甚至不相符。例如 https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started 在 hive 的这份文档中,hive 说 2.3.x 已针对 Spark 2.0.0 进行了测试 但在spark文档中(https://spark.apache.org/docs/3.3.2/building-spark.html)它说spark 3.3.2是为hive 2.3.9构建的 文档信息不匹配,并且当我在 Spark 3.3.2 上尝试使用 hive 2.3.9 时,当 hive 尝试创建 Spark 会话时出现错误。

当我喜欢时就会出现此错误

select count(*) from table_name;

错误

无法执行spark任务,出现异常“org.apache.hadoop.hive.ql.metadata.HiveException(无法创建spark客户端。)” 失败:执行错误,从 org.apache.hadoop.hive.ql.exec.spark.SparkTask 返回代码 1。创建 Spark 客户端失败。

所以我检查了 hive 的日志,这里有一些您可能需要的信息。仅供参考,我的 Spark 在本地主机的端口 4040 上运行。

警告 TransportChannelHandler :来自 localhost/127.0.0.1:4040 的连接出现异常 java.lang.IllegalArgumentException:框架太大:5211883372140375593 错误 TransportResponseHandler:当来自 localhost/127.0.0.1:4040 的连接关闭时,仍有 1 个未完成的请求 线程“main”org.apache.spark.SparkException 中出现异常:awaitResult 中抛出异常 错误 [f0fd81a8-0d73-43d0-814e-bda0253c132a main] client.SparkClientImpl:等待客户端连接时出错。 java.util.concurrent.ExecutionException:java.lang.RuntimeException:取消客户端“cc1f8b8a-0bfd-4574-9b6d-90bb0238a71e”。错误:子进程在重新连接之前退出并显示错误日志警告:忽略非 Spark 配置属性:hive.spark.client.server.connect.timeout

查看完整的错误日志 -> https://pastebin.com/CiuHRCsy

java apache-spark hadoop hive
1个回答
0
投票

我找到了该错误的原因。在 $HIVE_HOME/conf 中的 hive-site.xml 中,我将配置 spark.submit.deployMode 的值从 cluster 更改为 client,这解决了我在本地运行 Spark 和 Hive 时的问题。

© www.soinside.com 2019 - 2024. All rights reserved.