aws emr群集因光盘已满而失败

wgxvkvu9  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(298)

我正在一个有10个节点的aws emr集群上运行一些map reduce作业(电子病历4.7.11,m3.xlarge)
当作业运行时,工作节点在~4小时后开始一个接一个地死亡。在日志中,我发现以下错误: "1/3 local-dirs are bad: /mnt/yarn; 1/1 log-dirs are bad: /var/log/hadoop-yarn/containers" 当节点发生故障时,工作节点上的磁盘使用率为96%。所以我假设节点上的磁盘达到100%,没有文件可以写入磁盘。
因此,我尝试将500gbebs卷附加到每个示例。但是hadoop只使用 /mnt 不使用附加卷( /mnt2 ).
如何配置要使用的aws emr集群 /mnt2 ? 我试图使用一个配置文件,但是集群现在失败了,出现了错误 On the master instance (i-id), bootstrap action 6 returned a non-zero 启动时。不幸的是,在s3 bucket中有bootstrap action 6日志
配置文件:

[
   {
    "Classification": "core-site",
    "Properties": {
      "hadoop.tmp.dir": "/mnt2/var/lib/hadoop/tmp"
    }
  },
  {
    "Classification": "mapred-site",
    "Properties": {
      "mapred.local.dir": "/mnt2/var/lib/hadoop/mapred"
    }
  }
]

有人知道集群启动失败的原因吗?或者是否有其他方法来增加m3.xlarge示例的初始ebs容量?
https://forums.aws.amazon.com/thread.jspa?threadid=225588 看起来是同一个问题,但没有解决办法

jgovgodb

jgovgodb1#

如果磁盘(比如/mnt/)超过90%,那么核心/任务节点将被yarn标记为不健康和不可用。看到了吗 yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage 在http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
现在,如果使用emrapi连接ebs卷(在配置集群时),emr会自动将这些卷用于某些属性。例如:mapred.local.dir将使用所有装载。但是,某些属性(hadoop.tmp.dir、yarn.nodemanager.log-dirs)可能不会使用所有装载。对于此类属性,您需要添加逗号目录路径作为值,并使用配置api或手动编辑必要的文件来设置它们。

<property>
    <name>mapred.local.dir</name>
    <value>/mnt/mapred,/mnt1/mapred</value>
  </property>

  <property>
    <name>hadoop.tmp.dir</name>
    <value>/mnt/var/lib/hadoop/tmp</value>
  </property>

相关问题