微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的Yarn显示的内存12 GB比主机32GB少

如何解决为什么我的Yarn显示的内存12 GB比主机32GB少

我正在使用EMR,并且我的任务节点具有32 GB的内存。但是,当我登录到YARN UI时。它说只有12 GB的备忘录。

是的,我知道操作系统和正在运行的其他服务应使用一些内存。但是20 GB太多了。

enter image description here

在主机上

free -h
             total       used       free     shared    buffers     cached
Mem:           30G        18G        12G        88K       128M        12G
-/+ buffers/cache:       5.6G        25G
Swap:           0B         0B         0B

在另一台计算机上。

 free -h
             total       used       free     shared    buffers     cached
Mem:           30G        11G        18G        88K        75M       8.5G
-/+ buffers/cache:       3.4G        27G
Swap:           0B         0B         0B

那么即使有18 GB的可用空间后,为什么Yarn也只能显示12 GB的可用空间?

解决方法

在Google上进行了一些搜索后,发现它受到毛线设置的限制。普拉迪普在他的评论中也提出了同样的建议。

我在群集上进行了以下设置

  1. 找出任务和核心节点的实例组ID。为此,请使用以下命令。
aws emr describe-cluster --cluster-id j-xxxxxx | jq -r '.Cluster.InstanceGroups[] | select(.InstanceGroupType == "CORE").Id'
aws emr describe-cluster --cluster-id j-xxxxxx | jq -r '.Cluster.InstanceGroups[] | select(.InstanceGroupType == "TASK").Id'
  1. 创建JSON配置以更新您的emr。您将必须创建两个配置文件,一个用于TASK组,另一个用于Core组。或者,您可以在每次更新后简单替换InstanceGroupId的值。
[
   {
      "InstanceGroupId":"<output_of_above_command>","Configurations":[
         {
            "Classification":"yarn-site","Properties":{
               "yarn.nodemanager.resource.memory-mb":"32768"
            },"Configurations":[]
         }
      ]
   }
]

  1. 最后运行命令以更新实例组。
aws emr modify-instance-groups --cluster-id j-******* --instance-groups file://instaceGroup.json

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。