我使用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 installed,但现在的问题是如何重新分配内存。
最佳答案
在RM屏幕上,单击每个节点的HTTP地址链接以转到每个节点管理器的Web UI。
在此处,单击工具>配置,然后找到yarn.nodemanager.resource.memory-mb
设置。这应该表明分配了多少内存给该节点上的YARN NodeManager 。
EMR设置默认值,该默认值取决于EC2实例类型以及是否已安装HBase。它们列在Amazon的online documentation中:
Another page提供了几种更改EMR群集上默认值的替代方法。
关于apache-spark - EMR不会检测到所有内存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57333590/