Spark CDH 5.7 上的 Hive - 无法创建 Spark 客户端

2024-03-23

我们在使用 Spark 引擎执行 Hive 查询时收到错误。

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

以下属性设置为使用 Spark 作为执行引擎而不是 MapReduce:

set hive.execution.engine=spark;
set spark.executor.memory=2g;

我也尝试更改以下属性。

 set yarn.scheduler.maximum-allocation-mb=2048;
    set yarn.nodemanager.resource.memory-mb=2048;
    set spark.executor.cores=4;
    set spark.executor.memory=4g;
    set spark.yarn.executor.memoryOverhead=750;
    set hive.spark.client.server.connect.timeout=900000ms;

我还需要设置一些其他属性吗?有人可以建议吗?


看起来 e YARN 容器内存小于 Spark 执行器的要求。请将 YARN 容器内存和最大值设置为大于 Spark 执行器内存 + 开销。

  1. 纱线.scheduler.最大分配-mb
  2. 纱线.nodemanager.resource.内存-mb

纱线.nodemanager.resource.内存-mb:

可以为容器分配的物理内存量(以 MB 为单位)。这意味着 YARN 可以在该节点上使用的内存量,因此该属性应该低于该机器的总内存。

<name>yarn.nodemanager.resource.memory-mb</name>
<value>40960</value> <!-- 40 GB -->

下一步是提供有关如何将可用总资源分解到容器中的 YARN 指南。您可以通过指定为容器分配的最小 RAM 单位来实现此目的。

在yarn-site.xml中

<name>yarn.scheduler.minimum-allocation-mb</name> <!-- RAM-per-container ->
 <value>2048</value>

纱线.scheduler.最大分配-mb:

它定义了容器可用的最大内存分配(以 MB 为单位)

这意味着 RM 只能以“yarn.scheduler.minimum-allocation-mb”的增量向容器分配内存,并且不能超过“yarn.scheduler.maximum-allocation-mb”,并且它不应超过节点的总分配内存。

在yarn-site.xml中

<name>yarn.scheduler.maximum-allocation-mb</name> <!-Max RAM-per-container->
 <value>8192</value>

另请转到 Spark 历史记录服务器:转到 Spark on YARN 服务实例 > 历史服务器 > 历史服务 WebUI > 单击相关作业 > 单击 在相关的失败作业上 > 单击该作业的失败阶段并查看 对于“详细信息”部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark CDH 5.7 上的 Hive - 无法创建 Spark 客户端 的相关文章

随机推荐

  • 在 Swift 中链接多个异步函数

    我正在尝试编写一系列函数 在要求用户确认某些内容之前验证用户的信息 想象一个购物应用程序 我首先必须检查用户是否添加了卡 然后我必须检查他们是否有足够的余额 然后我可以要求他们确认付款 我可以编写异步方法来检查卡 例如 func check
  • 使用 Javascript 生成高质量 PDF (jspdf+html2canvas)

    我一直在尝试通过单击页面上的按钮从 HTML 页面转换并生成 PDF 该按钮会使用两个流行的插件自动生成并强制下载页面的 PDF JSPDF HTML2Canvas 到目前为止 一切正常 但生成的 PDF 总是模糊且质量不高 导入 js 文
  • 这些 switch 语句有哪些替代方案?

    刚刚制作了这个极其简单的 GPA 计算器 想知道如何使用循环来避免大量的 switch 语句 我对 Java 很陌生 只是寻求一些建议 非常感谢任何其他改进程序的方法 预先感谢各位 package helloPackage import j
  • 出于好奇,学习Android开发

    最近我一直在考虑开发一些基本的android应用程序 这只是出于个人兴趣 请指导我从哪里开始 我需要什么工具以及指向某些 pdf 等的任何指示 我的背景 1 C语言嵌入式软件开发人员 2 有一些从事 Flex 工作的机会 因此熟悉eclip
  • RXJS 处理两个不同的事件,其中第一个事件必须取消第二个事件

    rxjs 对我来说非常具有挑战性 我发现自己一直在尝试解决这个问题 我在堆栈上找到的最接近的解决方案是使用合并运算符 这里是link https stackoverflow com questions 45495188 rxjs frome
  • 在后台运行时查看随机 ngrok URL

    当我启动 ngrok 客户端时 ngrok tcp 22它在前台运行 我可以看到随机生成的转发URL 例如tcp 0 tcp ngrok io 12345 gt localhost 22 如果我在后台运行 ngrok tcp 我找不到任何方
  • 如何从 PHP 调用 dup2() 系统调用?

    有一个eio dup2 http php net manual en function eio dup2 php函数来自Eio PECL 扩展 http php net manual en intro eio php但我对所有异步和事件循环
  • WinForms 表单冻结

    在表单 F1 上我有一个按钮 如果我创建另一个表单 我们称之为F2 并显示它没有问题 但我想做这样的事情 我的应用程序中的某些线程正在运行连接并侦听来自服务器的消息 当消息到达时 我的主窗体被注册以获取运行函数的事件 从该函数中 我尝试创建
  • 如何列出命名空间的功能?

    我想知道如何列出 Clojure 命名空间的所有函数 我已经做了一些研究 但还没有做到这一点 我已经了解了如何使用 show 方法列出 Java 类的方法 show java awt Graphics 为了列出 Clojure 命名空间的功
  • Python:concurrent.futures 如何使其可取消?

    Python concurrent futures 和 ProcessPoolExecutor 提供了一个简洁的接口来调度和监视任务 期货甚至provide https docs python org 3 library concurren
  • Angular 4 验证器可同时检查 2 个控件

    我有一个带有 2 个控件 port start 和 port end 的反应式表单 它们具有以下要求 两者都必须有一个值 它们的值必须介于 0 到 65535 之间 port start 值必须小于 port end 值 这是我到目前为止所
  • 在 SimpleXML 中美化/格式化输出

    我有一个 simplexml 脚本 用于发布从表单输入的数据 xml simplexml load file links xml sxe new SimpleXMLElement xml gt asXML person sxe gt add
  • 无法使用SED快速编辑文件

    该文件最初是 cat so app yaml application SO 我运行以下命令 我得到一个空文件 sed s SO so so app yaml gt so app yaml cat so app yaml 如何使用 SED 编
  • Silverlight Windows Phone 7:从 URL 加载图像

    我得到下面的代码 它试图将网络上的图像加载到图像控件中 当我运行它时 我在给定的行上收到错误 不允许网络访问 private void button1 Click object sender RoutedEventArgs e WebCli
  • 使用CRTP时如何避免错误?

    Using CRTP http en wikipedia org wiki Curiously recurring template pattern有时我会写这样的代码 this was written first struct Foo B
  • 水平步骤中的等待栏,matlab

    我正在尝试修改这段代码 h waitbar 0 Please wait for i 1 10 computation here waitbar i 10 end close h 我如何将 waitbar 分为 10 个步骤 我的意思是它应该
  • 如何从 JavaScript 中的字符串中去除 HTML 标签? [复制]

    这个问题在这里已经有答案了 如何在 JavaScript 中从字符串中去除 HTML cleanText strInputCode replace lt gt gt g 蒸馏自这个网站 web archive https web archi
  • 在一个查询中搜索多个表 (MySQL/PHP#)

    我有大约 15 个表 每个表包含大约 10 000 行和大约 30 列 我希望我的网站的用户能够搜索零件编号或产品 说明并显示结果 不管它在哪张桌子上 每个产品页面与每个对应表的名称相同 因此 如果找到产品 它只会显示正确页面的链接 文件名
  • 如果没有 google-services.json,Google 服务插件将无法运行 [重复]

    这个问题在这里已经有答案了 文件 google services json 丢失 Google 服务插件无法运行 自从我删除了我的内容后 我收到此错误代码google services json我的项目中的文件 现在解决这个问题的明显方法是
  • Spark CDH 5.7 上的 Hive - 无法创建 Spark 客户端

    我们在使用 Spark 引擎执行 Hive 查询时收到错误 执行spark任务失败 出现异常 org apache hadoop hive ql metadata HiveException 创建失败 Spark 客户端 失败 执行错误 返