apache-spark - EMR 未检测到所有内存
问题描述
我使用 EMR 5.18 运行 Spark 任务。这是设置:
出于任何原因,EMR 无法检测到工作节点上的所有可用内存。我没有在 EMR 配置部分添加任何内容,这都是默认设置。
知道是什么原因造成的吗?谢谢。
编辑:关于yarn.nodemanager.resource.memory-mb
. 在用户界面中它说28672
,但在yarn-site.xml
它的352768
这是安装的应用程序列表:
Hive 2.3.3, Pig 0.17.0, Hue 4.2.0, Spark 2.3.2, Ganglia 3.7.2, Presto 0.210, Livy 0.5.0, Zeppelin 0.8.0, Oozie 5.0.0
Edit2:似乎原因是我安装了 HBase,但现在的问题是如何重新分配内存。
解决方案
在 RM 屏幕中,单击每个节点的 HTTP 地址链接以转到每个节点管理器的 Web UI。
在那里,单击工具 > 配置,然后找到yarn.nodemanager.resource.memory-mb
设置。这应该指示该节点上分配给 YARN NodeManager的内存量。
EMR 设置的默认值取决于 EC2 实例类型以及是否安装了 HBase。它们列在亚马逊的在线文档中:
您可以设置配置变量来调整 MapReduce 作业的性能... 默认值因集群中使用的节点的 EC2 实例类型而异。HBase 在使用 Amazon EMR 版本 4.6.0 及更高版本时可用。安装 HBase 时使用不同的默认值。
另一个页面提供了几种专门更改 EMR 集群默认值的替代方法。
推荐阅读
- shell - 仅打印文件出现的子目录
- css - 如何使用百里香获取当前页面地址?
- nlp - 在斯坦福神经网络依赖解析器中加载模型的一些问题
- javascript - 在触摸屏上关闭窗口时停止/暂停音频
- java - sdkman 缺少特定的 java 版本
- php - 输入数据成功时如何回显成功
- javascript - 如何在 HTML 输入类型颜色选择器中阻止或忽略特定颜色?
- mrtk - Project being built as a 2D window, and not as a 3D environment in HoloLens 1?
- python - 如何在空白行上拆分 CSV 文件
- c# - 多线程 C#:没有像我预期的那样返回结果