我正在一个有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 看起来是同一个问题,但没有解决办法
1条答案
按热度按时间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或手动编辑必要的文件来设置它们。