所以我在m3.xlarge机器上使用emr-5.4.0,上面添加了250gbebs。
使用此配置m3.xlarge和250 gb ebs,驱动器的安装方式如下:
/mnt/:40 gb ssd驱动器
/mnt1/:40 gb ssd驱动器
/mnt2/:250 gb ebs
我检查了以下hadoop配置,它们如下所示。
yarn.nodemanager.local-dirs:/mnt/Yarn,/mnt1/Yarn,/mnt2/Yarn
mapreduce.cluster.local.dir:/mnt/mapred,/mnt1/mapred,/mnt2/mapred
hadoop.tmp.dir:/mnt/var/lib/hadoop/tmp
但是当我运行工作负载时,/mnt/和/mnt1/驱动器(m3机器附带的ssd驱动器)开始变满,节点变得不正常。
yarn为不正常节点提供了以下消息。
2/3局部dir坏:/mnt/纱,/mnt1/纱;1/1日志目录错误:/var/log/hadoop/containers
1/3局部dirs坏:/mnt/纱;1/1日志目录错误:/var/log/hadoop/containers
问题是hadoop没有将连接的250gb驱动器用于中间输出或非dfs用途。
当我使用带有250gbebs的m4.2x大型计算机时,我没有遇到这个问题。m4.*机器不像m3那样有专用空间。*机器有专用空间(即2x40 gb SSD)。
所以我的问题是hadoop是否能够在提供多个驱动器时正确地使用可用的磁盘空间?
1条答案
按热度按时间qqrboqgw1#
如原木所示,Yarn容器原木可能已装满。emr目前并没有将所有磁盘用于Yarn原木。它只使用/mnt/磁盘。如果您查看配置文件,就会发现这一点。
在这里,
/var/log
符号链接到/mnt/var/log
.如果它是该日志目录,那么您可能需要在yarn-site.xml上设置该属性,就像yarn.nodemanager.local-dirs(使用逗号分隔的不同装载目录)一样,以便日志分布在所有磁盘上,而不仅仅是在示例附带的示例存储中。
如果它不是日志文件,那么您可能需要验证使用最多磁盘的顶级目录,并更改.xml文件的相应属性,并在需要时重新启动相应的守护程序。