YARN 上 Spark 的性能问题

2023-11-21

我们正在尝试在纱线上运行我们的火花集群。我们遇到了一些性能问题,特别是与独立模式相比。

我们有一个由 5 个节点组成的集群,每个节点都有 16GB RAM 和 8 个核心。我们在yarn-site.xml中将最小容器大小配置为3GB,最大容器大小为14GB。当将作业提交到yarn-cluster时,我们提供执行器数量= 10,执行器内存= 14 GB。根据我的理解,我们的工作应该分配4个14GB的容器。但 Spark UI 仅显示 3 个容器,每个容器 7.2GB。

我们无法确保分配给它的集装箱数量和资源。与独立模式相比,这会导致性能下降。

您能否指出如何优化纱线性能?

这是我用于提交作业的命令:

$SPARK_HOME/bin/spark-submit --class "MyApp" --master yarn-cluster --num-executors 10 --executor-memory 14g  target/scala-2.10/my-application_2.10-1.0.jar  

经过讨论,我更改了我的yarn-site.xml 文件以及spark-submit 命令。

这是新的yarn-site.xml代码:

<property>
<name>yarn.resourcemanager.hostname</name>
<value>hm41</value>
</property>

<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>14336</value>
</property>

<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2560</value>
</property>

<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>13312</value>
</property>

Spark 提交的新命令是

$SPARK_HOME/bin/spark-submit --class "MyApp" --master yarn-cluster --num-executors 4 --executor-memory  10g --executor-cores 6   target/scala-2.10/my-application_2.10-1.0.jar 

With this I am able to get 6 cores on each machine but the memory usage of each node is still around 5G. I have attached the screen shot of SPARKUI and htop. enter image description here Spark UI Screenshot![][1]


您在 SparkUI 中看到的内存 (7.2GB) 是spark.storage.memoryFraction,默认情况下为 0.6。至于丢失的执行程序,您应该查看 YARN 资源管理器日志。

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

YARN 上 Spark 的性能问题 的相关文章

随机推荐

  • 仅将 dropShadow 添加到网格窗格 JavaFx 2.2 的边框

    只想将阴影添加到网格窗格的边框而不是内部子元素 here is the image of screen showing the effect 使用 StackPane 并将 GridPane 放入其中 使用 CSS 设置 StackPane
  • 动态改变colors.xml的值来改变android应用程序的外观和感觉

    问题 我正在尝试动态更改 Android 应用程序的外观和感觉 例如 应用程序启动并从服务器获取一组值 这些值是通常位于colors xml 中的元素 我正在寻找的是一种动态更改colors xml 中的元素并使用从服务器接收到的这些新值进
  • 如何使用 Delphi 中的当前区域设置格式化整数

    var i integer i 1234567 鉴于上述情况 我希望字符串 1 234 567 作为输出 假设英国区域设置 IntToStr 只是给我 1234567 我确信有一个单行线可以解决这个问题 但我找不到它 尝试格式化功能 Lab
  • 如何保留嵌入小部件的样式?

    如何制作外部PHPwidget页面有自己的CSS 问题是 当外部页面是included 它受到样式表的影响host page 包含的页面实际上是一个注释 小部件 带有自己的 css 文件 大约 30 行 不多 并且高度和宽度的灵活性是必须具
  • 如何将Jupyter笔记本上的环境切换为新笔记本?

    我有一个具有各种环境的实例 有些笔记本与不同的环境兼容 例如notebook1 用于 MXNet notebook2 用于 Tensorflow 从notebook1移动到notebook2时如何跳转到新环境 我尝试这样做 但这不适用于 J
  • 是否可以使用与 std::set 中包含的类型不同的元素来执行搜索和删除?

    假设我有以下内容 struct MetadataThingy void actual thingy int some metadata int more metadata bool operator lt MetadataThingy co
  • @media print 的 CSS 第 x 页(共 y 页)

    我将在这个问题的前言中说 我知道这个问题之前已经被问过 但我能找到的所有答案似乎都引用了一个不再有效的过时的解决方案 至少在 Firefox 56 64 位 中 过时的方法是 曾经有一个自动实例化的 CSS 计数器 名为pages 因此从该
  • 向每个团队成员发送成功自动化构建的通知

    我们只是将 Visual Studio Team Services 集成为我们的新工作流程 并在提交到 master 的基础上设置自动构建 目前 承诺掌握并发起新构建的个人将在构建失败或成功时收到通知电子邮件 我们以为我们都会收到通知 但事
  • MVVM WPF ComboBox SelectedItem 绑定未在数据网格内激活

    在数据网格内操作时 我一直在努力保存组合框选定的值 当我制作没有数据网格的测试解决方案时 一切正常 上下文是与相关国家的人名 国家 地区存储在 xml 文件中 这是初始视图的快照 您可以在此处看到PersonList xaml 的重要部分
  • Java 包与 C++ 库

    In Java 有一种叫做package Does library in C 代表相同的含义 特别是在包含相关子句和使用受保护成员等术语中 Thanks 一个事物有不同的维度packageJava 中的意思 作为一个区分内部类名称与其他包中
  • 设计模式名称:从类级别获取类

    特别是在单元测试中 我们使用这种 设计模式 我称之为 从类级别获取类 框架测试 py class FrameWorkHttpClient object class FrameWorkTestCase unittest TestCase Su
  • “长度不能小于零。”在空白行上

    即使我注释掉发生错误的行 我仍然收到上述错误消息 知道是什么原因造成的吗 我尝试用测试值重写这些行 但仍然遇到相同的错误 这在调试模式下工作得很好 只有在部署中才会出现 原始代码 Line 21 string domain username
  • html5 画布中的运动 jpeg

    我正在尝试将运动 jpeg mjpeg 流 来自网络摄像头 包装到 html5 画布中 我知道 Safari 和 Chrome 对 mjpeg 具有本机支持 因此我可以将其放入img使其发挥作用 我想将它包裹在画布中的原因是我想对其进行一些
  • 设置对话框进度

    我有一个异步任务 在执行任务时不会添加百分比 它始终保持在 0 0 100 这是我的代码 private class getAppInfo extends AsyncTask
  • Django-filter 按相关字段过滤

    我有两张桌子 class Writer models Model name model CharField class Article models Model name model CharField writer model Forei
  • 如何在 AngularJS 页面中接收 POST 请求?

    我们制作了一个 AngularJS 应用程序 用户打开一个 URL xyz com booking 填写表格 然后选择一些要购买的商品 之后 用户单击 购买 按钮并离开该站点前往支付网关站点 付款成功后 支付网关通过在回调 URL xyz
  • 如何在Python中生成具有重复数字的随机列表

    所以几天前我才开始用Python编程 现在 我正在尝试制作一个生成随机列表的程序 然后选择重复元素 问题是 我的列表中没有重复的数字 这是我的代码 import random def generar listas numeros rango
  • 修改传递给脚本的参数 (Bash)

    我已经在谷歌上寻找了很长一段时间 但找不到任何符合我需要 想要做的事情 我的目标是编写一个带有两个参数的脚本 它将搜索第一个参数 这是一个列表 并检测第二个参数是否已在其中 例如 列表 bin foo bin random 随机 添加到列表
  • 无法理解带有两个变量的for循环[重复]

    这个问题在这里已经有答案了 当我在具有不同条件的 for 循环中使用两个变量时 我在下面使用了两个条件i lt 3 j lt 2for 循环始终执行 直到第二个条件失败 include
  • YARN 上 Spark 的性能问题

    我们正在尝试在纱线上运行我们的火花集群 我们遇到了一些性能问题 特别是与独立模式相比 我们有一个由 5 个节点组成的集群 每个节点都有 16GB RAM 和 8 个核心 我们在yarn site xml中将最小容器大小配置为3GB 最大容器